小编Mik*_*ike的帖子

给定总数,确定一个值将进入的次数

问题:

一个盒子可容纳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)

c# math

6
推荐指数
2
解决办法
8571
查看次数

母版页图像未显示在子页面上

这可能是非常简单的事情,但我看不清楚!我在母版页中显示的任何图像都没有显示在子页面中,我得到的只是带有红叉的框.

我不认为我做过任何与平时不同的事情,并不是在其他网站上发生的事情,所以我有点不知所措.任何想法都表示赞赏!

asp.net master-pages image

6
推荐指数
2
解决办法
2万
查看次数

C#.Net Serial DataReceived对于高速率数据,事件响应太慢

我已经在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)

.net c# events serial-port baud-rate

6
推荐指数
2
解决办法
5799
查看次数

如何在不关闭连接的情况下更改波特率?

我想连接到连接到串口(COM4)的设备,初始波特率为300,设备可以通过命令将其波特率更改为9600,我的Java代码将此命令发送到设备并更改设备的波特率,但我不知道如何在不关闭连接的情况下改变程序中的波特率.连接关闭后,设备将恢复到初始波特率.

在连接打开时有没有办法改变Java中的波特率?

在我向设备发送"更改波特率"命令后,当下面的代码执行设备丢失了连接.我认为这种方法只是用于初始化,而不是用于改变通信中间的波特率.

port.setSerialPortParams(
    9600,
    SerialPort.DATABITS_8,
    SerialPort.STOPBITS_1,
    SerialPort.PARITY_NONE);
Run Code Online (Sandbox Code Playgroud)

java serial-port baud-rate

6
推荐指数
1
解决办法
3055
查看次数

自定义波特率

我试图通过虚拟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是否支持自定义波特率.

windows serial-port baud-rate

6
推荐指数
1
解决办法
8444
查看次数

为什么我不能像C中的指针一样处理数组?

我在SO上看到了很多这个问题.也许没有那么多的话......但是一次又一次地存在关于数组如何与指针不同的混淆.所以我想我会花一点时间来问这个问题.

出于本Q&A的目的,我们将假设一个32位系统,并且已声明以下内容:

char * ptr = "hello";
char arr[10] = "hello";
int iarr[10] = {0};
Run Code Online (Sandbox Code Playgroud)

这是一个问题列表,可以推测我在SO上看到的困惑.当我看到新的问题时,我会添加到我的问答清单中(其他人也可以随意,如果你发现任何错误,请纠正我!)

  1. 指针和数组不是基本相同的东西吗?
  2. 追问:既*(ptr)*(arr),或ptr[0]arr[0]给予同样的事情,为什么呢?
  3. 怎么来arr&arr同样的价值?
  4. 跟进:为什么我得到不同的打印值arr+1vs &arr+1

c arrays pointers memory-address dereference

6
推荐指数
1
解决办法
4053
查看次数

使用getopt获取所需的参数

我目前的代码如下所示:

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将只运行不带参数.

我尝试了各种各样的东西,我似乎无法让这个工作.

任何帮助,将不胜感激.

c arguments getopt

6
推荐指数
1
解决办法
7268
查看次数

如何更改32位寄存器特定位而不更改其他位?

我想直接使用其物理地址来操作寄存器的某些位.但是我找不到办法来做到这一点.我看到一些关于设置位掩码的帖子,但我觉得它们太混乱了.

我的寄存器物理地址是: 0x4A10005C

我想操纵它在18-16位之间的位.我想设置0x3这些位.

如果你们能提供答案或办法,我将非常高兴.谢谢.

c bit-manipulation

6
推荐指数
2
解决办法
7524
查看次数

你如何重新校准Qt应用程序的触摸事件?

我有一个简单的Qt5.2应用程序,它是为TI AM335x EVM(基于ARM的处理器)而构建的.它上面只有一个按钮,可以在电路板上显示一些LED.

我遇到的问题是触摸事件没有校准到屏幕.例:

*************
*           *
*  []       *
*       X   *
*           *
*************
Run Code Online (Sandbox Code Playgroud)

因此,如果[]按钮所在的位置,X则必须触摸以激活按钮.这就像是颠倒和倒退.我尝试过更大的应用程序(更多按钮),趋势如下.

现在,当我使用TI提供的Qt4.8 GUI用户界面时,触摸按预期工作,因此出于某种原因,当我编译5.2代码时,似乎需要重新校准,但我不知道如何做到这一点.

我的问题:

  1. 有没有与Qt一起工作的人在过去碰到这样的事情?
  2. 任何知道Qt的人都知道是否有能力以编程方式重新校准?(我似乎无法在Qt网站上找到任何相关信息)

其他可能有用或无用的信息:

我的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 makemake 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 = …

c++ linux qt arm touch

6
推荐指数
1
解决办法
6434
查看次数

如何在linux中更改文件访问权限?

如何更改文件访问权限?

f = open('test','w')
f.close()
Run Code Online (Sandbox Code Playgroud)

默认访问权限:10600

python

5
推荐指数
2
解决办法
1万
查看次数