初级会员

- 积分
- 130
- 金钱
- 130
- 注册时间
- 2017-10-13
- 在线时间
- 19 小时
|
10金钱
用原子哥的开发板,在现有串口函数基础上,对串口发送更改;
修改为,利用串口中断发送数据,
有没有实践过得案例,求分享啊,或者用发送中断必须注意什么?
主要修改点:使能中断发送,没有再关闭;在中断函数里,清中断,并添加中断发送处理函数,发数据;main函数也相应修改,串口就是不行啊,led都不亮了
代码:
//***********·发送中断****
if(USART_GetITStatus(USART1,USART_IT_TC) != RESET)
{
USART_ClearFlag(USART1, USART_FLAG_TC); //
printf("\r\n½øèë·¢ËíÖD¶Ï\r\n");
if(len)
{
len--;
USART1->DR = USART_RX_BUF[copy_len-len]; //10-9,10-8,10-1
USART_RX_BUF[copy_len-len] = 0;
printf("\r\n·¢ËíÖD \r\n");
}
else
{
len =0;
copy_len =0;
} }
main如下****************
USART_RX_STA=0;
len=USART_RX_STA&0x3fff;
printf("\r\nÄú·¢ËíμÄÏûÏ¢Îa:\r\nμúò»¸öDÅÏ¢êǸöêy¡¡\r\n");
copy_len = len;
USART1->DR=USART_RX_BUF[0];
|
|