打印
[应用方案]

我用的新塘MO58的芯片,编写485通信的程序,有个奇怪的现象

[复制链接]
333|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2021-3-15 15:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编好的程序,向PC机串口调试助手发数据。比如一个数组a[5]={0xa1, 0xa2, 0xa3, 0xa4, 0xa5};共有5个字节的数据,但是我用自己编写的函数
void fasong_485(uint8_t        *command2,uint8_t number2)
{
  uint8_t *Txbufer;
  Txbufer = command2;
  DrvUART_Write(UART_PORT1,Txbufer,number2);
//  _DRVUART_WAIT_TX_EMPTY (UART_PORT1);         不屏蔽该语句很难返回!!!
}发送数据到串口,假如fasong_485( a , 5 );串口只能显示前4个数据,改为fasong_485( a , 6 );就能显示全了!怎么回事呢?求解释

使用特权

评论回复
沙发
gejigeji521| | 2021-3-15 22:01 | 只看该作者
发送参数改成8呢,是不是偶数都可以。

使用特权

评论回复
板凳
gejigeji521| | 2021-3-15 22:01 | 只看该作者
可能底层的代码是以16位发送的吧。不够的等待。

使用特权

评论回复
地板
凯复Kane| | 2021-3-15 23:44 | 只看该作者
用的什么芯片呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1181

主题

5171

帖子

12

粉丝