LabWindows NI怎么向串口发送16进制的数据给单片机呢??据我所掌握的知识是,LabWindow
LabWindowsNI怎么向串口发送16进制的数据给单片机呢??据我所掌握的知识是,LabWindow串口通信的是ASCII码数据,怎么转成16进制显示或者发送呢?...
LabWindows NI怎么向串口发送16进制的数据给单片机呢??据我所掌握的知识是,LabWindow串口通信的是ASCII码数据,怎么转成16进制显示或者发送呢?
展开
2013-05-16
展开全部
发送的话你可以试试一个字节一个字节的发送,可以解决16进制的问题,函数如下:
int ComWrtByte (int portNumber, int byte);
另外显示的话,需要将显示控件属性改成16进制的。
可以用SetCtrlAttribute(panelHandle,PANEL_NUMERIC,ATTR_FORMAT,VAL_HEX_FORMAT),来让控件以16进制来显示。
int ComWrtByte (int portNumber, int byte);
另外显示的话,需要将显示控件属性改成16进制的。
可以用SetCtrlAttribute(panelHandle,PANEL_NUMERIC,ATTR_FORMAT,VAL_HEX_FORMAT),来让控件以16进制来显示。
追问
所说的,我试了,并没能实现,反而是程序无法编译;
用SetCtrlAttribute(panelHandle,PANEL_NUMERIC,ATTR_FORMAT,VAL_HEX_FORMAT),来让控件以16进制来显示。
应该放在哪里???放在Main函数里面或者放在按钮Callback function里面都无法编译。。。
可能是某个环节错了。。有例程吗?、?
追答
SetCtrlAttribute(panelHandle,PANEL_NUMERIC,ATTR_FORMAT,VAL_HEX_FORMAT)
可以放在main函数的 DisplayPanel()后面。
另外 RS232通信需要 头文件#include <rs232.h> 。
附件的程序是我自己弄的,不专业。(仅供参考),另外rs232通信,CVI自带有历程的。HELP里面找ComWrtByte,然后最下面会有 相应的例子。
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
单片机串口通信数据丢失的原因可能如下:1. 按键通过串口发送对应命令,第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,可能是因为串口通信的波特率设置不正确。2. 如果单片机和外部设备的波特...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询