2个回答
展开全部
串口通讯是靠DIO(直接输入/输出)和CLK1(bit时钟),CLK2(BYTE时钟)进行的
比如arduino要传一段英文到stm32
arduino端:
通过shitOut指令传出,传出一次CLK2高电平脉冲一次
stm32端:
初始化引脚
循环检测DIO角是否有信号
有就记录,每次记录一次位移一次,以CLK1脉冲一次为一个跳变结束,以CLK2脉冲为一个字节结束
配上数组就可以实现字符串发送接受
比如arduino要传一段英文到stm32
arduino端:
通过shitOut指令传出,传出一次CLK2高电平脉冲一次
stm32端:
初始化引脚
循环检测DIO角是否有信号
有就记录,每次记录一次位移一次,以CLK1脉冲一次为一个跳变结束,以CLK2脉冲为一个字节结束
配上数组就可以实现字符串发送接受
更多追问追答
追问
不是很清楚,你这是模拟的吗?不能用arduino的wire库函数实现吗?如下主机代码
Wire.beginTransmission(4);
Wire.send("light is ");
Wire.send(x);
Wire.endTransmission();
追答
别用这些库,你不清楚它的工作原理,自己写程序,这样才好弄
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询