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

网站建设及制作教程做牛津纺衬衫的网站

网站建设及制作教程,做牛津纺衬衫的网站,西安注册公司需要多少钱,做网站用angular【前言】 MM32F5260中的示例工程,灵动微的工程师们,编写了非常优秀的示例工程供用户用来验证。但是常用的串口工程师们都是使用开发板的MM32LINK-OB用来连接串口实现打印的。在工程中提供了platform.c用于开发板的LED、Button、uart的初始化,…

【前言】
MM32F5260中的示例工程,灵动微的工程师们,编写了非常优秀的示例工程供用户用来验证。但是常用的串口工程师们都是使用开发板的MM32LINK-OB用来连接串口实现打印的。在工程中提供了platform.c用于开发板的LED、Button、uart的初始化,并实现了printf的重定向。我在前面的试用中经查看串口,他使用的是uart2用于输出printf。但是开发板接到MM32LINK的是uart3,在修改后,由于没有注意到给printf重定向的输入函数中,没有修改对应的串口,一上电就卡死,查找了好久才找到原因。因此建议示例模版最好修改为uart3。在这里我也做了修改,希望能帮到以后应用中需要使用MM32LINK直接用于调试打印的工程师朋友们。

【原理图】
在官方给出的原理图中,PC10做为uart3的TX,接到了MM32LINK中,并通过虚拟口串口接到了USB_DEBUG中。

在这里插入图片描述

在原理图中,也是注明了UART3,IO复用参数为AF7,经查看产品手册的引脚及复用功能,也是对应的AF7:

在这里插入图片描述

【代码修改】
1、首先修改 platform.h对调试打印进行宏定义,方便以后修改:

/*  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
/*  DEBUG UART define   end  *************************************************/`

2、修改初始化串口函数:

void PLATFORM_InitConsole(uint32_t Baudrate)
{GPIO_InitTypeDef GPIO_InitStruct;UART_InitTypeDef UART_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_Init(DEBUG_UART, &UART_InitStruct);UART_Cmd(DEBUG_UART, 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_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);
}

3、修改重定向函数:

/************************************************************************************************************************ @brief  redefine fputc function* @note   for printf* @param  ch* @param  f* @retval ch*********************************************************************************************************************/
int fputc(int ch, FILE *f)
{UART_SendData(DEBUG_UART, (uint8_t)ch);while (RESET == UART_GetFlagStatus(DEBUG_UART, UART_FLAG_TXC)){}return (ch);
}

这样后,就可以直接使用MM32LINK进行调试输出了。只需要一根USB线就OK,比较方便。

【总结】
此次修改,花费的时间不多,总体代码结构不变,宏定义了串口的参数,这样如果想修改printf的到其他的串口,也只需要对宏定义进行修改,这样就不会漏掉修改的参数。当然还可以能过ifdef来创建多组宏义来,来选择不同的串口输出,这样就会更简单。

http://www.dtcms.com/wzjs/598229.html

相关文章:

  • 天津非常好的网站建设wordpress如何修改登录地址
  • 国家精品课程建设工作网站模板网站建设青岛
  • 免费ppt模板素材网站有哪些WordPress套
  • 官方网站想反应问题不弄应该怎么做网站换空间会影响排名吗
  • 网站开发学哪些做网站哪个软件好
  • 网站设计制作代码企业网站设计软件
  • 企业网站建设网微信小程序一年费用多少钱
  • dw如何做商业网站网页游戏排行榜前
  • 建设项目所在地公共媒体网站品牌整合营销传播
  • 在自己网站建立自己的外链网站如何在手机上显示
  • 网站开发过程模型做门户网站要多少钱
  • 微信怎么做链接网站机票特价网站建设
  • 网站开发 图片存放自助建微网站
  • 绵阳个人网站建设seo顾问阿亮
  • 沈阳h5建站手动删除wordpress插件
  • 成都装修公司有哪些seo外链网站源码
  • 企业如何建设自己的网站高端网站有哪些
  • 怎么做整人点不完的网站视频怎么制作网站的链接宏
  • 前台网站系统源码浙江建设网站
  • 网站建设论文要求试述网站开发的流程
  • 金阊做网站价格大连网站制作赞ls15227
  • 怎么在网站上做音乐电商详情页设计
  • 苏州网站建设中心网站html源码
  • 招聘网站收费标准对比图怎么做阿里云linux主机如何添加2个网站
  • 以营销导向型建设网站方案文山州住房和城乡建设局网站
  • 一般做个网站要多少钱域名备案批量查询
  • 公司怎样建自己网站百度2023免费下载
  • 太原微网站建设谁家好网站SEO容易做吗
  • 做网站计划表wordpress编辑器加按钮
  • 做那个免费观看视频网站综合网站开发设计