初级会员
- 积分
- 103
- 金钱
- 103
- 注册时间
- 2015-11-28
- 在线时间
- 30 小时
|
50金钱
先介绍一下,我用STM32f103的板子,板子发送显示在串口上是正常的。以下是发送的代码,能够在串口调试助手中显示出来55 AA 03 01 04。这是OK的,
u8 G[7];
G[0]=0x55;
G[1]=0xAA;
G[2]=0x03;
G[3]=0x01;
G[4]=0x04;
for(i=0;i<5;i++)
{
USART_SendData(USART2,G);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);
}
用串口调试助手给激光器发一次性发送五个十六进制数55 AA 03 01 04,激光器能够接受到并作出正常的响应。
但是我利用上面的程序用STM32f103发十六进制数给激光器却没有任何响应。现在我拿串口2发送的数据接上串口调试助手,能够看到发送的数据确实是正确的。
我该怎么修改呢?真的不知道了,求回答,谢谢
关于上述问题,上次很多人都回复了,
1比如说串口的波特率,串口设置等,这个我都查了,没有问题。
2 还有人说是地线问题,这块我也排查了,用的232接口,应该没有问题。
3关于第一个数55丢失的问题,我做了调整。目前不会丢失数据。
4有人说串口调试助手末尾会发送0x0D 0x0A结束的事,我在程序里面试过多发送这个,结果也不行。
|
|