rs232串口通信,各位大神速度吧 c 串口通讯协议问题
rs232串口通信,各位大神速度吧
既然使用了232,那么自然就说明数据传输是有限制的,读取主程序???
汇编的概念中,232是这个中断信号,主程序会“优先”帮你处理232上面的数据,至于怎处理,那要看程序员如何写代码,比如,他说你发送个“0x0f”给我,我就告诉你主程序内容???
别多想了,换成是你写这个程序,也不会把FLASH中的内容发送出去的。
不过也有办法,很复杂,需要用芯片擦写工具……首先你要先把芯片从设备上拆下来,根据芯片定义接入擦写引脚,比如JTAG、ISP等,再用特殊的软件读取芯片内容…………(还是找破解高手吧,听说为了读取芯片内容,有的芯片要被激光切割呢……别多想了)
那么你想编写驱动程序?这个比较简单。
联系一下供应商,让他们提供给你动态库,以及动态库的功能函数说明手册,利用这个,你能在C/C 语言等常用的语言中调用,并通过232控制设备了。当然这些动态库中的内容你仍然是不能了解的,你所能掌握的,就是如何去使用别人写的东西,毕竟驱动程序是别人开发的,而动态库就是提供给你去指挥驱动程序运行的。
如果供应商提供给你一些驱动的指令字符串,那就更好了,因为你可以使用“串口调试助手”,直接发送这些指令字符串,直接控制设备,例如:有个设备这样运行,通过232接收指令:用“串口调试助手”发送,0x01表示前进;0x02表示后退;0x03表示旋转;0x04表示向上;0x05表示下降……等等;如果要写成程序,windows有动态库提供串口驱动,你可以在C/C 语言中调用,然后把发送内容写进去就行了。
c 串口通讯协议问题
#include 
#include 
#include 
using namespace std
int main(int argc, char* argv[])
{
    string a="105.609997618466"
    int b = atoi(a.c_str())
    cout<    return 0
}或者
#include 
#include 
#include 
using namespace std
int main(int argc, char* argv[])
{
    string a="105.609997618466"
    stringstream ss
    ss<    ss>>b
    cout<    return 0
}
同一串口走多个通讯协议
能够 连在 一起 嘛?
如果 彼此 独立 的话,没有问题吧,因为本身是 单独的,用的时候 肯定 是 独立 的 连接
如果 连在 一起 的话,如果 程序 设计过程中考虑到 单个 设备的 特殊性,比如设定 了 区分彼此 标志,诸如 地址什么的,应该 没有问题 吧
当然,我没有试过,猜测而已!
祝你顺利 吧