微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32笔记之八:来跟PC打个招呼,基本串口通讯

STM32笔记之八:来跟PC打个招呼,基本串口通讯

时间:11-26 来源:互联网 点击:

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//打开中断

NVIC_Init(&NVIC_InitStructure);//初始化

iv.在stm32f10x_it.c文件中找到void USART1_IRQHandler函数,在其中添入执行代码。一般最少三个步骤:先使用if语句判断是发生那个中断,然后清除中断标志位,最后给字符串赋值,或做其他事情。

void USART1_IRQHandler(void)//串口1中断

{

char RX_dat;//定义字符变量

if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//判断发生接收中断

{USART_ClearITPendingBit(USART1,USART_IT_RXNE);//清除中断标志

GPIO_WriteBit(GPIOB, GPIO_Pin_10, (BitAction)0x01);//开始传输

RX_dat=USART_ReceiveData(USART1) & 0x7F;//接收数据,整理除去前两位

USART_SendData(USART1, RX_dat);//发送数据

while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET){}//等待发送结束

}

}

d)中断注意事项:

可以随时在程序中使用USART_ITConfig(USART1, USART_IT_TXE, DISABLE);来关闭中断响应。

NVIC_InitTypeDef NVIC_InitStructure定义一定要加在NVIC初始化模块的第一句。

全局变量与函数的定义:在任意.c文件中定义的变量或函数,在其它.c文件中使用extern+定义代码再次定义就可以直接调用了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top