板子刚收到,看了坛友的分享的历程,看到有串口发送的例子,没找到接收的,研究了一下,这个接收处理和STM32不太一样,貌似做了深度为16的循环fifo,
简单调了一下,实现收到PC端串口调试助手发送的数据,然后再发送回去。
void thread1_main(void)
{
uart8_init();
uint8_t rx_rp=0;
GPCOM8_RX_WP = 0;
char c;
while(1){
if(rx_rp!=GPCOM_GET_RX_WP(GPCOM8_BASE_ADDR))//判断是否接收到数据
{
c=GPCOM_GET_RX_DATA(GPCOM8_BASE_ADDR,rx_rp);//读取数据
printf("%c",c);
rx_rp++; //读取指针加1
rx_rp=rx_rp&0x0F;//越界处理
}
}
thread_end();
}
离线
感谢分享,FIFO实际深度是8,指针是4bit的
离线
您好,能分享下串口相关的代码吗
离线
@hameyou
串口的收好像都是程序轮询的方式啊?
离线
@hameyou
串口的收好像都是程序轮询的方式啊?
是的,因为没有中断,可以使用一个线程专门轮询接收,当作一个中断函数用
离线