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

什么网站做ppt赚钱wordpress管理配色

什么网站做ppt赚钱,wordpress管理配色,深圳住房建设厅网站首页,什么是微信wordpress在本次项目中#xff0c;限于空间要求我们选用了STM32F030F4作为控制芯片。这款MCU不但封装紧凑#xff0c;而且自带的Flash空间也非常有限#xff0c;所以我们选择了LL库实现。本篇将说明基于LL实现USART通讯。 1、概述 我们想要实现基于RS485的Modbus通讯实际就是基于US…在本次项目中限于空间要求我们选用了STM32F030F4作为控制芯片。这款MCU不但封装紧凑而且自带的Flash空间也非常有限所以我们选择了LL库实现。本篇将说明基于LL实现USART通讯。 1、概述 我们想要实现基于RS485的Modbus通讯实际就是基于USART的通讯。USART使用可编程波特率发生器提供非常广泛的波特率范围。根据不同配置可以实现我们不同的串行通讯应用需求。其结构图如下 我们在USART基础上实现一个Modbus的从站应用所以我们对于接收采用中断接收而对于发送则根据接收到的信息做出反馈。所以我们要根据接收状态和发送状态来确定我们的操作。 2、USART配置 在实现之前我们来了解一下满足前述的需求我们应该做哪些配置。主要有2个寄存器需要注意控制寄存器1USART_CR1和波特率寄存器USART_BRR。 首先我们还是来看一看控制寄存器1USART_CR1。其中RXNEIERXNE中断使能、TE发送使能、RE接收使能、UEUSART使能等位是需要我们注意的。该寄存器的结构如下 在控制寄存器1USART_CR1中RXNEIERXNE中断使能被置位后只要USART_ISRORE1或者RXNE1就会产生该中断。接下来我们看一看波特率寄存器USART_BRR其结构如下 对于波特率寄存器USART_BRR顾名思义就是设置波特率。但波特率的值不是随意设置有一套计算方法可以查看STM的手册。 3、软件实现 接下来我们在软件上实现我们的应用。我们先看USART配置我们将其配置为我们需要的参数并将其配置为中断接收模式。具体代码如下 /*配置上位通讯串口*/ static void Comm_UART_Configuration(void) {LL_USART_InitTypeDef USART_InitStruct {0};LL_GPIO_InitTypeDef GPIO_InitStruct {0};/* 使能相关外设时钟 */LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_USART1);LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA);/* USART1 GPIO 配置PA2   ------ USART1_TXPA3   ------ USART1_RX  */GPIO_InitStruct.Pin LL_GPIO_PIN_2;GPIO_InitStruct.Mode LL_GPIO_MODE_ALTERNATE;GPIO_InitStruct.Speed LL_GPIO_SPEED_FREQ_HIGH;GPIO_InitStruct.OutputType LL_GPIO_OUTPUT_PUSHPULL;GPIO_InitStruct.Pull LL_GPIO_PULL_NO;GPIO_InitStruct.Alternate LL_GPIO_AF_1;LL_GPIO_Init(GPIOA, GPIO_InitStruct);GPIO_InitStruct.Pin LL_GPIO_PIN_3;GPIO_InitStruct.Mode LL_GPIO_MODE_ALTERNATE;GPIO_InitStruct.Speed LL_GPIO_SPEED_FREQ_HIGH;GPIO_InitStruct.OutputType LL_GPIO_OUTPUT_PUSHPULL;GPIO_InitStruct.Pull LL_GPIO_PULL_NO;GPIO_InitStruct.Alternate LL_GPIO_AF_1;LL_GPIO_Init(GPIOA, GPIO_InitStruct);/* USART1中断初始化 */NVIC_SetPriority(USART1_IRQn, 1);NVIC_EnableIRQ(USART1_IRQn);/* USART1端口配置 */USART_InitStruct.BaudRate 115200;USART_InitStruct.DataWidth LL_USART_DATAWIDTH_8B;USART_InitStruct.StopBits LL_USART_STOPBITS_1;USART_InitStruct.Parity LL_USART_PARITY_NONE;USART_InitStruct.TransferDirection LL_USART_DIRECTION_TX_RX;USART_InitStruct.HardwareFlowControl LL_USART_HWCONTROL_NONE;USART_InitStruct.OverSampling LL_USART_OVERSAMPLING_16;LL_USART_Init(USART1, USART_InitStruct);LL_USART_DisableIT_CTS(USART1);LL_USART_ConfigAsyncMode(USART1);LL_USART_Enable(USART1);LL_USART_EnableIT_RXNE(USART1);    } 大部分配置都可通过初始化函数来实现有一些需同过专门的LL库函数实现。配置完成后寄存器的状态如下图所示。 我们配置的波特率是115200其在寄存器中的配置为1A1关于波特率的配置问题可以查看相关资料。另外我们还需要编写一个接收中断的服务函数。 /*数据接收中断处理函数,添加到USART1中断响应函数中*/ void USART1_ReceiveDataHandle(void) {if(rxLengthRECEIVEDATALENGTH){rxLength0;}/*接收寄存器为空,等待字节被对应的串口完全接收*/if(LL_USART_IsActiveFlag_RXNE(USART1)){uint8_t rData;/*获取接收到的字节*/rDataLL_USART_ReceiveData8(USART1);rxBuffer[rxLength] rData;}if(LL_USART_IsActiveFlag_ORE(USART1)){LL_USART_ClearFlag_ORE(USART1);} } 需要注意的是需要添加ORE溢出标志的检测确保每次的接收中断都是有效的。 4、总结 最后我们来测试一下我们的代码。将相关项目下载到目标板并采用两种监测方式查看结果。首先接到PC机的串口在上位中使用Modscan来查看其结果如下 然后通过J-Link在线调试监控数据通讯其结果如下 上图中上部是我们的物理量数据而下面是接收到的上位下发的读取保持寄存器的Modbus报文。结合前一张图很明显收发都是正确的。 欢迎关注
http://www.pierceye.com/news/612313/

相关文章:

  • 怎么做网站网页免费高清屏幕录像
  • 网络推广哪个网站好亚马逊网站开发使用的什么方式
  • 佛山企业网站建设咨询怎么从零开始做网站
  • dede移动端网站源码中国能建设计公司网站
  • 潍坊网站建设多少钱做网站seo优化
  • 南昌网站建设方案外包怎么自己做网站凑钱
  • 贵州企业展示型网站建设网站建设需要摊销吗
  • 网站建设视频教程广州哪里有正规的技能培训
  • 网站后台iis配置小程序模板消息推送规则
  • 桥梁建设工程网站残疾人网站服务平台
  • 网站开发语言包括哪些潍坊公司注册
  • 平顶山网站制作哪家公司好阿里巴巴网站建设改图片
  • 网站设计培训学校有哪些wordpress主题什么值得买
  • 如皋建设工程局网站静态网站做淘宝客
  • 温州网站建设案例做网站卖衣服物流包年多少钱
  • 响应 网站建设招聘室内设计
  • 网站建设宣传册内容南京个人网站建设
  • 毕业设计可以做哪些网站遵义原创网站
  • 国外服装设计网站app网站建设需要什么
  • 网站建设a云世家宋南南网站建设合集
  • 可以网上做单的网站创建全国文明城市的宗旨是什么
  • 北京诚信建设网站成都蓉城最新消息
  • 上市公司网站建设分析评价网页制作的视频教程
  • 网站营运费网站关键字优化工具
  • 上海企业网站建站中山一站式营销推广平台
  • 想做网站策划怎么做苏州seo关键词排名
  • 中小型企业电子商务网站建设seo优化推广公司
  • 网站开发类型什么意思网页制作与设计千年之恋代码
  • 怎么做公司的网站免费网站建设专业的公司
  • 适合这手机浏览器主页的网站wordpress本地上传服务器