STM32F334使用串口发送接收数据
来源:互联网 发布:男生知乎 编辑:程序博客网 时间:2024/06/05 09:15
MCU:STM32F334C8T6
Frameware:STM32F3348-Discovery_FW_V1.0.0
实现功能:
在PC使用串口调试助手向MCU发送字符(数据),MCU将接收到的字符发回PC
代码:
#include "main.h"int main(){GPIO_Config();USART_Config();NVIC_Config();while(1);}void GPIO_Config(){GPIO_InitTypeDef GPIO_InitStructure;RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_3 | GPIO_Pin_4); //USART2对应的RX,TX引脚GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用模式GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽输出GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(GPIOB, &GPIO_InitStructure);//配置复用功能GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, GPIO_AF_7);GPIO_PinAFConfig(GPIOB, GPIO_PinSource4, GPIO_AF_7);}void USART_Config(){USART_InitTypeDef USART_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);USART_DeInit(USART2);USART_InitStructure.USART_BaudRate = 115200;USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART2, &USART_InitStructure);USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);//使能中断USART_ClearFlag (USART2,USART_FLAG_TC);USART_Cmd(USART2, ENABLE); //打开串口}void NVIC_Config(){NVIC_InitTypeDef NVIC_InitStruct;#ifdef VECT_TAB_SRAM NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); //一定要设置中断向量表,否则可能出错#else NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0); #endifNVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitStruct.NVIC_IRQChannel = USART2_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0;NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStruct);}//中断处理函数void USART2_IRQHandler (void){if (USART_GetFlagStatus(USART2,USART_FLAG_RXNE) ==SET){USART_SendData(USART2,USART_ReceiveData(USART2));//发送接收到的数据while (!USART_GetFlagStatus(USART2,USART_FLAG_TC));}USART_ClearITPendingBit(USART2,USART_IT_RXNE);//清中断标志位}
wind
2015,03,29
0 0
- STM32F334使用串口发送接收数据
- [CC2530]串口接收发送数据
- C#----串口数据接收发送
- 多串口数据接收和发送
- 异步串口模式发送和接收数据
- 串口发送接收浮点型数据
- OSAL串口接收发送数据流程简介
- 环形队列串口发送接收数据
- C# SerialPort串口通信发送接收,处理接收数据完整
- vb API 串口通讯(串口配置、接收、发送数据)
- STM8S003F使用IO口模拟串口(三)使用中断方式发送和接收数据
- 使用DatagramSocket发送、接收数据
- linux多线程下打开串口发送和接收数据
- vb mscomm1串口通信接收发送十六进制数据
- dsPIC33F串口通讯中断接收发送数据-UART
- Qt中串口16进制发送和接收数据
- C# UDP、串口的数据接收与发送
- Stm32RS232串口通信——中断接收发送数据
- ViewController生命周期
- CodeForces - 515B Drazil and His Happy Friends
- 【SICP练习】134 练习3.65
- 字符串的下划线命名和驼峰命名转换
- 求两个字符串的最大公共长度 看到的一道阿里笔试题
- STM32F334使用串口发送接收数据
- 正向代理与反向代理的区别
- 安卓程序上传文件到java服务器
- Linux操作系统上安装Mysql数据库
- 第三次作业
- CodeForces - 514A Chewbaсca and Number
- 女 大三,抱金砖~呵~
- C#学习之路之使用windows media player 实例
- 对指定URL获取其titile