初级会员

- 积分
- 51
- 金钱
- 51
- 注册时间
- 2020-7-29
- 在线时间
- 14 小时
|
10金钱
本帖最后由 moumde 于 2021-3-26 13:24 编辑
RT,之前有在F7的板子上面实现过串口通信,当时在Windows下的串口助手以及Ubuntu下的cutecom还有自己写的程序都能够正常接收数据包。
但是现在因为项目需求,把F7上面的程序移植到了F4上面,出现的问题在于,目前F4能够与Win下面的串口助手正常通信,然而到了Linux下面就不行了,具体表现为在USB口刚接上,cutecom一开始打开后会接收到一段数据,但后面就没有数据被接收到了。
Linux下的ttyUSB0的权限也全部打开了,也还是不行,请问有人遇到过这种问题可以解答一下吗?
我现在怀疑是不是底层程序的原因,因为在F7中,我是根据原子的开发手册内部写的,利用寄存器发送数据 ...
for(i=0; i<len+4; i++) // 发送数据
usart1_send_char(send_buff);
}
//串口1发送1个字符
//ch:要发送的字符
void usart1_send_char(u8 ch)
{
while((USART1->ISR&0X40)==0);
USART1->TDR=ch;
}
但是在F4中貌似没有这个ISR寄存器,因此我就直接使用了
HAL_UART_Transmit(&UART1_Handler, send_buff, sizeof(send_buff), 0xffff);
进行数据的发送。
会不会是这方面的原因,有了解的大佬可以指点一下吗
|
|