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

wordpress 整站打包北京企业网站模板建站开发

wordpress 整站打包,北京企业网站模板建站开发,零基础学seo难吗,免费网站导航建设【前言】 串口作为MCU最常用的外设,是掌握一款单片机最基本的技能之一。串口收接可以有多种形势,这一篇讨论如何使用接收中断空闲中断来实现不定长接收。 【实验环境】 Mini-F5265-OB开发板。 【串口的选择】 Mini-F5265-OB拥有多达5个UART以及一个…

【前言】

串口作为MCU最常用的外设,是掌握一款单片机最基本的技能之一。串口收接可以有多种形势,这一篇讨论如何使用接收中断+空闲中断来实现不定长接收。

【实验环境】

Mini-F5265-OB开发板。

【串口的选择】

Mini-F5265-OB拥有多达5个UART以及一个低功耗的LUART。UART最快速度可以达到7Mbps。本篇选用UART3作为试验串口,因此他通过MM32F3273G6P的DAP-LINK连接,这样就不需要外接USB转TTL来试验。

【串口IO选择】

根据开发板原理图,选用PC10、PC11来做为UART3的TX、RX的IO,其原理图如下:

image.png

【串口初始化】

串口初始化代码如下:

/ DEBUG UART define begin /
#define DEBUG_UART                  UART3
#define DEBUG_UART_TX_PORT          GPIOC
#define DEBUG_UART_TX_PIN_SOURC     GPIO_PinSource10
#define DEBUG_UART_RCC              RCC_APB1Periph_UART3
#define DEBUG_UART_TX_GPIO_RCC      RCC_AHBPeriph_GPIOC
#define DEBUG_UART_GPIO_AF          GPIO_AF_7
#define DEBUG_UART_TX_PIN           GPIO_Pin_10#define DEBUG_UART_RX_PORT          GPIOC
#define DEBUG_UART_RX_PIN_SOURC     GPIO_PinSource11#define DEBUG_UART_RX_GPIO_RCC      RCC_AHBPeriph_GPIOC
#define DEBUG_UART_RX_PIN           GPIO_Pin_11#define DEBUG_UART_IRQn             UART3_IRQn/  DEBUG UART define   end /

宏定中,根据用户手册,使用宏定义了UART3所使用的IO、端口、时钟、中断号等。

/*

  • @brief Initialize console for printf
  • @note none
  • @param Baudrate : UART3 communication baudrate
  • @retval none
    */
    void PLATFORM_InitConsole(uint32_t Baudrate)
    {
 GPIO_InitTypeDef GPIO_InitStruct;UART_InitTypeDef UART_InitStruct;NVIC_InitTypeDef NVIC_InitStruct;RCC_APB1PeriphClockCmd(DEBUG_UART_RCC, ENABLE);UART_StructInit(&UART_InitStruct);UART_InitStruct.BaudRate      = Baudrate;UART_InitStruct.WordLength    = UART_WordLength_8b;UART_InitStruct.StopBits      = UART_StopBits_1;UART_InitStruct.Parity        = UART_Parity_No;UART_InitStruct.HWFlowControl = UART_HWFlowControl_None;UART_InitStruct.Mode          = UART_Mode_Tx | UART_Mode_Rx;;UART_Init(DEBUG_UART, &UART_InitStruct);UART_ITConfig(DEBUG_UART, UART_IT_RX, ENABLE);UART_ITConfig(DEBUG_UART, UART_IT_RXIDLE, ENABLE);RCC_AHBPeriphClockCmd(DEBUG_UART_TX_GPIO_RCC, ENABLE);GPIO_PinAFConfig(DEBUG_UART_TX_PORT, DEBUG_UART_TX_PIN_SOURC, DEBUG_UART_GPIO_AF);GPIO_PinAFConfig(DEBUG_UART_RX_PORT, DEBUG_UART_RX_PIN_SOURC, DEBUG_UART_GPIO_AF);GPIO_StructInit(&GPIO_InitStruct);GPIO_InitStruct.GPIO_Pin   = DEBUG_UART_TX_PIN;GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF_PP;GPIO_Init(DEBUG_UART_TX_PORT, &GPIO_InitStruct);GPIO_StructInit(&GPIO_InitStruct);GPIO_InitStruct.GPIO_Pin  = DEBUG_UART_RX_PIN;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;GPIO_Init(DEBUG_UART_RX_PORT, &GPIO_InitStruct);NVIC_InitStruct.NVIC_IRQChannel = DEBUG_UART_IRQn;NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStruct.NVIC_IRQChannelSubPriority = 1;NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStruct);UART_ClearITPendingBit(UART3, 0x7FF);UART_Cmd(DEBUG_UART, ENABLE);		

}
在初始化代码中,首先打开UART的时钟,然后配置波特率、数据宽度,停止位,等。然后配接收中断、空闲中断。接口配置IO,其中TX为输出模式,RX为中断输入模式,最后开启中断。

【中断回调】

/*

  • @brief This function handles UART1 Handler
  • @note none
  • @param none
  • @retval none
    */
    void UART3_IRQHandler(void)
    {
uint8_t i = 0;if (SET == UART_GetITStatus(UART3, UART_IT_RX)){UART_RxBuffer[UART_RxLength++] = UART_ReceiveData(UART3);UART_ClearITPendingBit(UART3, UART_IT_RX);}if (SET == UART_GetITStatus(UART3, UART_IT_RXIDLE)){UART_ClearITPendingBit(UART3, UART_IT_RXIDLE);for (i = 0; i < UART_RxLength; i++){UART_SendData(UART3, UART_RxBuffer[i]);while (RESET == UART_GetFlagStatus(UART3, UART_FLAG_TXC)){}}UART_RxLength = 0;}

}
在中断回调函数中,如果中断进入的是接收中断,则把接收的字符串存入缓冲区中,如果是空闲中断,则把接收到的内容回传出去。

【整体思路】

在本次实验中,开启的UART3的RX中断、空闲中断,当进入的是RX中断时,把接收数据并存入缓冲区,如果产生空闲中断,则说明数据传输结束。最后把接收到的数据回传,同时重置接收标志位。

【实验现象】

在这里插入图片描述

【总结】

灵动的串口设计非常之优秀!


文章转载自:

http://WyTU25Qf.xnrgb.cn
http://UGqO84hm.xnrgb.cn
http://MU37SjPh.xnrgb.cn
http://7bBGXgEc.xnrgb.cn
http://PeIeGlZv.xnrgb.cn
http://76OynkOp.xnrgb.cn
http://1JuV3UcW.xnrgb.cn
http://3LKfzb3p.xnrgb.cn
http://CX9Exbon.xnrgb.cn
http://L5so8lEa.xnrgb.cn
http://UgM2OK7c.xnrgb.cn
http://DLe9ERub.xnrgb.cn
http://bhDxxhyB.xnrgb.cn
http://u0X4SbJC.xnrgb.cn
http://9UfHbgbg.xnrgb.cn
http://yC7e0mY9.xnrgb.cn
http://JybPmmTN.xnrgb.cn
http://4X0URmcX.xnrgb.cn
http://ySpV2ljL.xnrgb.cn
http://IjIkTTbh.xnrgb.cn
http://STAHphkS.xnrgb.cn
http://5rS5R85f.xnrgb.cn
http://BGqvjdXl.xnrgb.cn
http://v9LKkwsU.xnrgb.cn
http://VufZxgvc.xnrgb.cn
http://HGBRRIQP.xnrgb.cn
http://xbT8ZlFP.xnrgb.cn
http://sUZcutDM.xnrgb.cn
http://ounu6ygf.xnrgb.cn
http://NPW2akbD.xnrgb.cn
http://www.dtcms.com/wzjs/648263.html

相关文章:

  • 梧州市建设局网站终身免费网站建设
  • 湛江做网站哪家好珠海网红打卡景点
  • 佛山市顺德区建设局网站网站开发运营工作总结
  • 精品课程网站开发的开题报告关于建设公司网站的议题
  • 网站空间到期怎么续费wordpress建立目录
  • html5做网站导航易企秀怎么制作
  • 东昌府聊城网站优化关键词包括哪些内容
  • 企业网站的开发网页怎么建设
  • 怎么做网站主证件照片制作软件免费下载
  • 查询网站建立时间跳转到手机网站
  • 吉野家网站谁做的如果熊掌号做的不好会不会影响网站
  • 织梦网站网上商城怎么推广
  • php驾校网站源码wordpress 免签约支付宝
  • 免费网站软件下载大全2018王健林亏60亿做不成一个网站
  • 域名对网站有什么影响微信开放平台注册
  • 示范高校建设网站柳州网站建设11
  • 住房和城乡建设部网站公告佛山网站建设报价
  • 网站建设售后协议wordpress取消categore
  • 毕业设计网站建设软件项目一级建设造师网站
  • 用深度liunx做网站第一ppt课件免费下载官网
  • 百度站长平台安卓版电子商务网站建设的盈利模式
  • 做移动网站优化软件实力网站优化公司首选
  • 百度站长提交网址官方小程序
  • 东莞品牌型网站建设网站备案怎么查
  • 网站推广实施计划万网云服务器怎么上传网站
  • 织梦网暂时关闭网站潍坊做网站优化
  • 网站创建桌面快捷方式众志seo
  • 图书馆评估定级关于网站建设标准wordpress爆破字典
  • 新网站域名备案流程天猫建设网站的目的
  • 注册一个公司网站需要多少钱网站打开很慢