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

深圳珠宝网站建设分析报告互联网推广方案

深圳珠宝网站建设分析报告,互联网推广方案,网易企业邮箱网易企业邮箱,外贸大型门户网站建设文章目录一、STM32串口常用寄存器和库函数1.1 常用的串口寄存器1.2 串口相关的库函数1.3 状态寄存器(USART_ SR)1.4 数据寄存器(USART_ DR)1.5 波特率寄存器(USART_BRR)二、串口配置一般步骤一、STM32串口常…

文章目录

  • 一、STM32串口常用寄存器和库函数
    • 1.1 常用的串口寄存器
    • 1.2 串口相关的库函数
    • 1.3 状态寄存器(USART_ SR)
    • 1.4 数据寄存器(USART_ DR)
    • 1.5 波特率寄存器(USART_BRR)
  • 二、串口配置一般步骤

一、STM32串口常用寄存器和库函数

1.1 常用的串口寄存器

USART_ SR状态寄存器
USART_ DR数据寄存器
USART_BRR波特率寄存器

1.2 串口相关的库函数

void USART_ Init();           //串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能
void USART Cmd();             //使能串口
void USART ITConfig0;         //使能相关中断void USART SendData();        //发送数据到串口,DR
uint16 t USART ReceiveData(); //接受数据,从DR读取接受到的数据FlagStatus USART GetFlagStatus(); //获取状态标志位
void USART ClearFlag();           //清除状态标志位
ITStatus USART GetlTStatus);      //获取中断状态标志位
void USART_ ClearlTPendingBit);   //清除中断状态标志位

1.3 状态寄存器(USART_ SR)

在这里插入图片描述

所用函数
FlagStatus USART_GetFlagStatus(USART TypeDef USARTx; uint16 t USART_FLAG);

FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)
{FlagStatus bitstatus = RESET;/* Check the parameters */assert_param(IS_USART_ALL_PERIPH(USARTx));assert_param(IS_USART_FLAG(USART_FLAG));/* The CTS flag is not available for UART4 and UART5 */if (USART_FLAG == USART_FLAG_CTS){assert_param(IS_USART_1236_PERIPH(USARTx));} if ((USARTx->SR & USART_FLAG) != (uint16_t)RESET){bitstatus = SET;}else{bitstatus = RESET;}return bitstatus;
}

1.4 数据寄存器(USART_ DR)

在这里插入图片描述

相关函数
void USART SendData(USART TypeDef* USARTx, uint16 t Data);
uint16_t USART_ ReceiveData(USARTTypeDef* USARTx)

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
{/* Check the parameters */assert_param(IS_USART_ALL_PERIPH(USARTx));assert_param(IS_USART_DATA(Data)); /* Transmit Data */USARTx->DR = (Data & (uint16_t)0x01FF);
}

uint16_t USART_ReceiveData(USART_TypeDef* USARTx)
{/* Check the parameters */assert_param(IS_USART_ALL_PERIPH(USARTx));/* Receive Data */return (uint16_t)(USARTx->DR & (uint16_t)0x01FF);
}

1.5 波特率寄存器(USART_BRR)

在这里插入图片描述

关于波特率的计算
在这里插入图片描述
小数部分需要乘上16

void USART Init(USART TypeDef* USARTx; USART_ InitTypeDef* USART: InitStruct)
第一个入口参数是用来确实是哪个串口

#define IS_USART_ALL_PERIPH(PERIPH) (((PERIPH) == USART1) || \((PERIPH) == USART2) || \((PERIPH) == USART3) || \((PERIPH) == UART4)  || \((PERIPH) == UART5)  || \((PERIPH) == USART6) || \((PERIPH) == UART7)  || \((PERIPH) == UART8)) 1-8

第二个入口参数结构体,就是设置串口的一些变量

typedef struct
{uint32_t USART_BaudRate;            //设置波特率uint16_t USART_WordLength;          //设置字长,8/9uint16_t USART_StopBits;            //停止位uint16_t USART_Parity;              //奇偶校验uint16_t USART_Mode;                //使能发送/控制uint16_t USART_HardwareFlowControl; //硬件控制(本次不用)
} USART_InitTypeDef;

二、串口配置一般步骤

串口时钟使能: RCC_APBxPeriphClockCmd);
GPIO时钟使能: RCC_ AHB1PeriphClockCmd();

引脚复用映射:GPIO_PinAFConfig();

GPIO端口模式设置:GPIO _Init(); 模式设置为GPIO_Mode_ AF

串口参数初始化: USART_ Init();

开启中断并且初始化NVIC ( 如果需要开启中断才需要这个步骤)
NVIC_ Init();
USART_ITConfig();

使能串口:USART_Cmd();

编写中断处理函数: USARTX_ IRQHandler();

串口数据收发:
void USART_SendData();//发送数据到串口,DR
uint16_ t USART_ReceiveData();//接受数据,从DR读取接受到的数据

串口传输状态获取:
FlagStatus USART_GetFlagStatus();
void USART_ClearlTPendingBit();

http://www.zhongyajixie.com/news/58890.html

相关文章:

  • wordpress修改自己的头像seo做得比较好的公司
  • 在淘宝做网站可以改域名吗会计培训
  • 品牌网站建设的关键事项seo优化排名工具
  • 临清做网站推广seo及网络推广招聘
  • 两峡一峰旅游开发公司官方网站网络推广平台
  • 网站生成手机站新手如何做网上销售
  • 企业做网站都需要准备哪些材料站长网站查询
  • 网站建设是东营网站建设费用
  • 湖南网站制作百度爱采购优化排名软件
  • 淄博做网站市场广州seo网站优化培训
  • 互联网行业的工作岗位专业搜索引擎优化电话
  • 淘宝网站制作公司哪家好自己的网站怎么样推广优化
  • 中国建设银行网站登录不了网络营销与网站推广的区别
  • 播州区住房和城乡建设局网站百度小说排行
  • 争对银行排队做一网站建网站哪个平台好
  • 创客贴平面设计在线官网宁波seo关键词如何优化
  • 淄博网站建设专家怎么联系百度人工客服
  • 淘宝客优惠券网站怎么做全国疫情高峰感染进度查询
  • 哪个做问卷网站佣金高整站排名
  • 做动态图表的网站软文推广有哪些平台
  • 自己做网站怎么让字体居中最好用的手机优化软件
  • php网站端口百度视频广告怎么投放
  • 微信公众号制作方法搜索引擎优化服务
  • 定制家具网站源代码seo有哪些网站
  • 做网站开发的需求文档百度百科官网登录
  • 乐都营销型网站建设上海百度seo点击软件
  • 哪里有建设网站中的视频下列关于seo优化说法不正确的是
  • 3d动画制作收费标准抖音关键词排名优化软件
  • 网站建设能用手机制作吗免费的html网站
  • 如何对一个网站进行seoseo网站有哪些