原子哥 串口通信代码笔记1 |
您所在的位置:网站首页 › 正点原子modbus › 原子哥 串口通信代码笔记1 |
本人小白自学 想通过记笔记加深自己的记忆 有什么错误欢迎大家指点 首先UART是异步通信 没有时钟控制 所以要自行设置波特率 TXD是发送引脚 单片机发送数据 RXD是接收引脚 单片机接收数据 以串口1为例 PA9为发送引脚 PA10为接收引脚
首先要配置引脚 PA9 PA10 1.打开串口1和引脚A的时钟 2.PA.9为复用推挽输出 PA.10为浮空输入 GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE); //使能USART1,GPIOA时钟 //USART1_TX GPIOA.9 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出 GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9 //USART1_RX GPIOA.10初始化 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入 GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10其次是USART1的 初始化设置
起始位:没有通信的话起始位是空闲状态 如果起始位位0则代表数据通信开始了 数据位有9位 有效的是8位 有一个是奇偶校验位 如果是偶校验 当八个数据位中有3个1 第九位校验位就要补1 使其为偶数个1 如果有四个1则校验位为0 这个是为了提高数据传输的准确率 波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标。 串口初始化需要设置的几个参数 波特率:一般是9600或者115200 字长:如果设置为8位则无奇偶校验位 如果设置为9位则有奇偶校验位 停止位:设置为一个停止位 无硬件数据流控制 收发模式:发送模式和接收模式都设置 USART_InitTypeDef USART_InitStructure; USART_InitStructure.USART_BaudRate = 9600;//串口波特率 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); //初始化串口1如果要开启中断就使用USART_ITConfig函数 最后使能串口 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启串口接受中断 USART_Cmd(USART1, ENABLE); //使能串口1如果要开启中断 则也要配置NVIC串口1的初始化 NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;//开启中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//抢占优先级3 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //子优先级3 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能 NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化VIC寄存器
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |