新手入门
- 积分
- 11
- 金钱
- 11
- 注册时间
- 2018-2-9
- 在线时间
- 7 小时
|
8金钱
我首先定义了个全局变量 u8 t;然后 在串口中断服务函数中进行了发送和接收操作
void USART1_IRQHandler()
{
if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
flag=1;
t=USART_ReceiveData(USART1);
//delay_ms(1);
USART_SendData(USART1,t);
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
}
}
最后在主函数中发送t USART_SendData(USART1,t);
却发现什么都收不到 程序跑起来以后是这样(如图)
顺便把源程序也贴在这 求大神解答。。。
|
最佳答案
查看完整内容[请看2#楼]
uint8_t Rec_buf[32];
uint8_t Rec_buf_count=0;
void USART1_IRQHandler()
{
uint8_t temp;
if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
flag=1;
temp=USART_ReceiveData(USART1);//t是全局的,在这里不要赋值。改成temp
//delay_ms(1);
//USART_SendData(USART1,t);----把这个给屏蔽了,你这个是什么鬼?
...
|