问题:
一个盒子可容纳53件物品.如果一个人有56个项目,则需要2个盒子来容纳它们.方框1将容纳53个项目,方框2将容纳3个项目.
我如何重复上面的内容,其中53是一个不变的,不变的值,56是每个框的变量:
Math.Ceiling(Convert.ToDecimal(intFeet / 53))
Run Code Online (Sandbox Code Playgroud)
到目前为止我所拥有的是:
int TotalItems = 56;
int Boxes = Math.Ceiling(Convert.ToDecimal(intFeet / 53));
for (int i = 0; i < Boxes; i++)
{
int itemsincurrentbox=??
}
Run Code Online (Sandbox Code Playgroud) 这可能是非常简单的事情,但我看不清楚!我在母版页中显示的任何图像都没有显示在子页面中,我得到的只是带有红叉的框.
我不认为我做过任何与平时不同的事情,并不是在其他网站上发生的事情,所以我有点不知所措.任何想法都表示赞赏!
我已经在VS2008 express中使用基于表单的程序设置了一个SerialDataReceivedEventHandler.我的串口设置如下:
115200,8N1
Dtr和Rts启用
ReceivedBytesThreshold = 1
我有一个设备,我通过BlueTooth,USB转串口连接.超级终端以任何数据速率接收数据.数据以22字节长的数据包定期发送.该设备具有可调节的数据发送速率.在低数据速率,10-20Hz,下面的代码工作得很好,没有问题.但是,当我将数据速率提高到25Hz以上时,一次呼叫就会开始收到多个数据包.我的意思是每个传入的数据包都应该有一个事件触发器.由于输出速率较高,我在调用事件时立即测试了缓冲区大小(BytesToRead命令),然后缓冲区中有多个数据包.我认为事件会慢慢触发,当它到达代码时,更多的数据包已经打到了缓冲区.我做的一个测试是看每秒触发事件的次数.在10Hz,我得到10个事件触发器,很棒.在100Hz,我得到40个事件触发器,不好.我的数据速率目标是100HZ是可接受的,200Hz首选,300Hz最佳.这应该工作,因为即使在300Hz,这只是52800bps,不到设置的115200波特率的一半.我在看什么?
public Form1()
{
InitializeComponent();
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
this.Invoke(new EventHandler(Display_Results));
}
private void Display_Results(object s, EventArgs e)
{
serialPort1.Read(IMU, 0, serial_Port1.BytesToRead);
}
Run Code Online (Sandbox Code Playgroud) 我想连接到连接到串口(COM4)的设备,初始波特率为300,设备可以通过命令将其波特率更改为9600,我的Java代码将此命令发送到设备并更改设备的波特率,但我不知道如何在不关闭连接的情况下改变程序中的波特率.连接关闭后,设备将恢复到初始波特率.
在连接打开时有没有办法改变Java中的波特率?
在我向设备发送"更改波特率"命令后,当下面的代码执行设备丢失了连接.我认为这种方法只是用于初始化,而不是用于改变通信中间的波特率.
port.setSerialPortParams(
9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
Run Code Online (Sandbox Code Playgroud) 我试图通过虚拟COM端口与硬件设备通信.主机是PC Windows OS PC.设备正在使用921600波特率.此代码有效:
DCB dcb; ... dcb.BaudRate = CBR_115200; SetCommState(hPort, &dcb);
一旦我改变波特率:
dcb.BaudRate = 921600;
SetCommState失败,出现上一个错误0x57(参数不正确).这是否意味着Windows API会阻止除预定义值之外的任何波特率?或者,虚拟COM端口可能配置为允许此波特率?
虚拟COM端口是CameraLink连接的一部分.我正在与CameraLink板卡供应商交谈.但我需要知道Windows串行通信API是否支持自定义波特率.
我在SO上看到了很多这个问题.也许没有那么多的话......但是一次又一次地存在关于数组如何与指针不同的混淆.所以我想我会花一点时间来问这个问题.
出于本Q&A的目的,我们将假设一个32位系统,并且已声明以下内容:
char * ptr = "hello";
char arr[10] = "hello";
int iarr[10] = {0};
Run Code Online (Sandbox Code Playgroud)
这是一个问题列表,可以推测我在SO上看到的困惑.当我看到新的问题时,我会添加到我的问答清单中(其他人也可以随意,如果你发现任何错误,请纠正我!)
*(ptr)和*(arr),或ptr[0]和arr[0]给予同样的事情,为什么呢?arr和&arr同样的价值?arr+1vs &arr+1?我目前的代码如下所示:
while (( flags = getopt(argc, argv, "abc")) != -1){
switch(flags){
case 'a':
dflag = 1;
break;
case 'b':
rflag = 1;
break;
case 'c':
cflag = 1;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我想包括像testprogram -c -d 1这样的东西
其中c需要处理-d,没有-c,testprogram -d 1将只运行不带参数.
我尝试了各种各样的东西,我似乎无法让这个工作.
任何帮助,将不胜感激.
我想直接使用其物理地址来操作寄存器的某些位.但是我找不到办法来做到这一点.我看到一些关于设置位掩码的帖子,但我觉得它们太混乱了.
我的寄存器物理地址是: 0x4A10005C
我想操纵它在18-16位之间的位.我想设置0x3这些位.
如果你们能提供答案或办法,我将非常高兴.谢谢.
我有一个简单的Qt5.2应用程序,它是为TI AM335x EVM(基于ARM的处理器)而构建的.它上面只有一个按钮,可以在电路板上显示一些LED.
我遇到的问题是触摸事件没有校准到屏幕.例:
*************
* *
* [] *
* X *
* *
*************
Run Code Online (Sandbox Code Playgroud)
因此,如果[]按钮所在的位置,X则必须触摸以激活按钮.这就像是颠倒和倒退.我尝试过更大的应用程序(更多按钮),趋势如下.
现在,当我使用TI提供的Qt4.8 GUI用户界面时,触摸按预期工作,因此出于某种原因,当我编译5.2代码时,似乎需要重新校准,但我不知道如何做到这一点.
我的问题:
其他可能有用或无用的信息:
我的Qt环境配置了这个命令:
./configure -prefix /usr/Qt5.2 -xplatform linux-am335x-g ++ -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -opensource
其次是a make和make install.我的路径已更新,包括TI工具链的正确版本和家庭配置/构建版本qmake:
迈克@麦克- VirtualBox的:/usr/Qt5.2/test_button$回声$ PATH
/usr/Qt5.2/bin:/home/mike/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/ i686-arago-linux/usr/bin:/usr/local/Trolltech/Qt-4.8.5/bin:/ home/mike/bin:/ usr/lib/lightdm/lightdm:/ usr/local/sbin:/ usr/local/bin目录:/ usr/sbin目录:在/ usr/bin中:/ sbin目录:/ bin中:在/ usr /游戏:/首页/麦克风/箱
实际编译命令中使用的标志:
arm-linux-gnueabihf-g ++ -c -march = armv7-a -marm -mthumb-interwork -mfloat-abi = …