C#用serialport控制单片机,请问,serialport.writeline(string),单片机接收的是什么类型的数据。怎么转换

比如 发送string str=“100”。我怎么告诉单片机,发送的是100。单片机读取的数据是什么类型的,也是string?怎么转换成int...

你用字符串的形式发送到单片机,单片机收到的会是三个字节,分别是0x31,0x30,0x30,对应的就是1,0,0的ASCII码
其实serialport类里面有发送字节的方法,你可以直接按字节发送,到单片机里面就不需要转换或者很简单的转换追问

请问,单片机收到的三个字节,怎么处理?一个个读取还是怎么?发送字节的方法能不能详细说下。我网上没搜索到。

追答

你先将三个字节存放到一个数组里面unsigned char re[3];每进一次中断就存放一个,当接收完成之后再处理 (re[0]-0x30)*100+(re[1]-0x30)*10+(re[0]-0x30)就得到你要处理的数100。具体的处理你需要自己定制通信协议,规定数据传输的格式。

追问

你说的不完全正确。单片机需要准备char a[4] 4个元素去接收PC发来的string格式的“100”,非别是'1''0''0''\0'

温馨提示:内容为网友见解,仅供参考
无其他回答