串口的设置
来源:互联网 发布:12345打字软件下载 编辑:程序博客网 时间:2024/06/05 18:47
//串口的设置
1.串口使能,GPIO时钟使能
2.串口复位3.GPIO端口模式设置
4.串口参数初始化
5.开启中断并且初始化NVIC(如果需要开启中断)
6.使能串口
7.编写中断处理函数
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1);
//串口复位
void USART_DeInit(USART_TypeDef* USARTx);
//串口参数初始化
void USART_Init(USART_TypeDef* USARTx,USART_InitTypeDef* USART_InitStruct);
//实现格式
1.波特率 2.字长 3.停止位 4.奇偶校验位 5.硬件数据控制 6.模式
USART_InitStructure.USART_WordLength=USART_WordLength_8b; //字长为8位数据格式
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(USART1,&USART_InitStructure); //初始化
//数据发送与接收(USART_DR包括TDR和RDR)
发送数据:void USART_SendData(USART_TypeDef* USARTx,uint16_t Date);
读出数据:uint16_t USART_ReceiveData(USART_TypeDef* USARTx);
//串口状态(USART_SR)
TC(发送完成)
读取串口状态的函数
FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx,uint16_t USART_FLAG);
1.判断寄存器是否为非空
USART_GetFlagStatus(USART1,USART_FLAG_RXNE); //USART_FLAG_RXNE是(uint16_t)0x0525 //typedefint int16_t; typedefunsigned int uint16_t;
2.判断发送是否完成
USART_GetFlagStatus(USARTI,USART_FLAG_TC); //USART_FLAG_TC是(uint16_t)0x0727
//串口使能
USART_Cmd(USART1,ENABLE);
//开启串口响应中断
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE); //接收到数据的时候就中断
USART_ITCinfig(USART1,USART_IT_TC,ENABLE); //发送数据结束的时候产生中断
//获取相应中断状态
USART_GetITStatus(USART1,USART_IT_TC); //返回值是set说明是串口发送完成中断
阅读全文
1 0
- 串口的设置程序
- Linux串口的设置
- 串口的 初步设置
- 串口的设置
- kernel调试串口的设置
- 设置virtualBox串口的方法
- virtualBox 串口的设置方法
- 单片机串口设置的问题
- 单片机串口设置的问题
- 串口设置的一般步骤
- 串口的设置与读写
- Linux下的串口设置
- 如何设置串口的属性
- 设置树莓派的串口终端
- 串口设置
- 串口设置
- 串口设置
- usb转的串口minicom的设置
- 从1到n整数中1出现的个数
- Android音视频点/直播模块开发
- BZOJ 2429 最小生成树 解题报告
- Python之创建虚拟环境
- mongoDB与mysql的区别
- 串口的设置
- C++ 多重继承之内存存储
- POJ 3050 Hopscotch 裸广搜
- py-faster-rcnn算法caffe配置,训练及应用到自己的数据集
- 代码注释和编码规范
- Idea GitLab设置远程Remote仓库时显示authentication failed for xxx错误
- 数据结构实践之前篇
- RxJava系列教程之过滤篇(四)
- 【报错】常见JavaWeb/SSM错误