当前位置: 首页 > news >正文

行业平台网站建设网站优化排名易下拉霸屏

行业平台网站建设,网站优化排名易下拉霸屏,河北中保建设集团网站首页,网页版游戏推荐今日学习使用STM32 C8T6的串口,我们在经过学习笔记2的总结归纳可知,STM32 C8T6最小系统板上有三路串口,如下图: 今日我们就着手学习如何配置开通这些串口进行收发,这里不讲串口通信概念与基础,可以自行网上…

今日学习使用STM32 C8T6的串口,我们在经过学习笔记2的总结归纳可知,STM32 C8T6最小系统板上有三路串口,如下图:

 今日我们就着手学习如何配置开通这些串口进行收发,这里不讲串口通信概念与基础,可以自行网上查找,本文直接开始介绍库函数与编程实现:

串口配置相关库函数介绍:

 

打开串口GPIO的时钟:

void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
/*
#define RCC_APB2Periph_GPIOA             ((uint32_t)0x00000004)
#define RCC_APB2Periph_GPIOB             ((uint32_t)0x00000008)
#define RCC_APB2Periph_GPIOC             ((uint32_t)0x00000010)
#define RCC_APB2Periph_GPIOD             ((uint32_t)0x00000020)
#define RCC_APB2Periph_GPIOE             ((uint32_t)0x00000040)
#define RCC_APB2Periph_GPIOF             ((uint32_t)0x00000080)
#define RCC_APB2Periph_GPIOG             ((uint32_t)0x00000100)
*/

 

打开串口外设的时钟:

void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
/*
#define RCC_APB2Periph_USART1            ((uint32_t)0x00004000)
#define RCC_APB1Periph_USART2            ((uint32_t)0x00020000)
#define RCC_APB1Periph_USART3            ((uint32_t)0x00040000)
#define RCC_APB1Periph_UART4             ((uint32_t)0x00080000)
#define RCC_APB1Periph_UART5             ((uint32_t)0x00100000)
*/

 

串口的初始化配置:

void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct)
/*
USART1 USART2 USART3*/

 

向量中断控制器组选择:

void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)

 

初始化配置NVIC:

void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)

 

串口接收:

USART_ReceiveData(USART1)

串口配置编程:

首先创建好要用的几个文件.c 与.h,在添加进工程,别忘了添加路径~

 

串口的初始化:

以下是串口1的初始化以及配置中断优先级,中断优先级的配置分为主优先和子优先,有关中断优先级的配置这放在以后再说~~~,

测试工程文件我还编写了串口2,3的初始化,可以下载测试观察~

#include "USART_init.h"void Usart1_Init(unsigned int baud)
{GPIO_InitTypeDef gpio_initstruct;USART_InitTypeDef usart_initstruct;NVIC_InitTypeDef nvic_initstruct;// 打开串口GPIO的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);// 打开串口外设的时钟	RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//PA9	TXD	// 将USART Tx的GPIO配置为推挽复用模式gpio_initstruct.GPIO_Mode = GPIO_Mode_AF_PP;gpio_initstruct.GPIO_Pin = GPIO_Pin_9;gpio_initstruct.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &gpio_initstruct);//PA10	RXD  // 将USART Rx的GPIO配置为浮空输入模式gpio_initstruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;gpio_initstruct.GPIO_Pin = GPIO_Pin_10;gpio_initstruct.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &gpio_initstruct);usart_initstruct.USART_BaudRate = baud;                                 	      //配置波特率usart_initstruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;		//无硬件流控	usart_initstruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;						        //接收和发送	usart_initstruct.USART_Parity = USART_Parity_No;									              //无校验usart_initstruct.USART_StopBits = USART_StopBits_1;								              //配置停止位 1位停止位usart_initstruct.USART_WordLength = USART_WordLength_8b;							          //配置 针数据字长 8位数据位// 完成串口的初始化配置USART_Init(USART1, &usart_initstruct);USART_Cmd(USART1, ENABLE);														                           //使能串口USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);									                 //使能接收中断NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                                  /* 嵌套向量中断控制器组选择 */nvic_initstruct.NVIC_IRQChannel = USART1_IRQn;                                   /* 配置USART为中断源 */nvic_initstruct.NVIC_IRQChannelCmd = ENABLE;                                     /* 使能中断 */nvic_initstruct.NVIC_IRQChannelPreemptionPriority = 0;                           /* 抢断优先级*/nvic_initstruct.NVIC_IRQChannelSubPriority = 2;                                  /* 子优先级 */NVIC_Init(&nvic_initstruct);                                                     /* 初始化配置NVIC */}

 

串口中断服务函数的编写:

首先在启动文件找到三个串口的中断服务函数:

void USART1_IRQHandler(void)
{if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断{USART_ClearFlag(USART1, USART_FLAG_RXNE);}//返回收到的任意数据USART_SendData(USART1,USART_ReceiveData(USART1)); }

测试结果截图:

 

工程下载:

https://download.csdn.net/download/qq_64257614/88201777?spm=1001.2014.3001.5503

http://www.hkea.cn/news/530720/

相关文章:

  • 网站建设需要学什么网站模板购买
  • 用html做的游戏网站关键词推广效果分析
  • 做影视网站引流正规推广平台有哪些
  • 免费下载简历模板北京seo排名厂家
  • 西昌市做网站的百度搜索排名靠前
  • 办公室装修实景拍摄图重庆seo俱乐部联系方式
  • 网站建设阶段推广计划书怎么写
  • 代做毕业设计网站现成注册网站平台
  • 电商网站开发工作计划企业网络营销策划
  • 用wps网站栏目做树形结构图网页设计代码案例
  • 多媒体网站设计开发是指什么每日关键词搜索排行
  • 网站 seo正规网络公司关键词排名优化
  • 建立网站赚多少钱seo收录排名
  • 怎么做app网站seo学习网站
  • 广西建设职业技术学院官网免费的seo优化
  • 凡科网电脑版怎么做网站百度知道官网手机版
  • 贵卅省住房和城乡建设厅网站周口seo推广
  • 搭建flv视频网站seo工具查询
  • 企业展示网站 数据库设计模板自助建站
  • 房地产设计师上海seo网络优化
  • wordpress迁移打不开百度seo泛解析代发排名
  • 网站兼容性测试怎么做微信营销软件群发
  • wordpress如何设置内容页seo营销优化
  • 高端大气的网站制作南宁百度seo软件
  • 沙井营销型网站建设成人培训机构
  • 网站没有被百度收录搜索引擎排名优化公司
  • 手机网站转换小程序晋江怎么交换友情链接
  • 专业做网站的公司疫情放开最新消息今天
  • 不用写代码做网站软件长沙优化网站
  • o2o商城网站建设方案广告策划案优秀案例