盼盼_dRglQm · 18 小时前 · 广西

【灵动Mini-F5265-OB】环境搭建以及按键串口驱动

【前言】
首先感谢极术社区、灵动微电子给予我这次试用灵动Mini-F5265-OB开发板的机会。今天收到了开发板,熟悉了一下他的资料,并完成了按键与串口的驱动,现在分享如下:

【资料收集与获取】
在极术社区的页面:https://aijishu.com/a/1060000...,有开发板的所有资料的下载。我下载到资料后仔细阅读了他的开发板原理图、产品手册、用户手册。

image.png

然后下载了例程。例程中有丰富的示例,所有的外设都是有例程的,通过阅读,结事用户手册,可以快速的掌握这款MCU的外设的使用。
再有就是需要到官方下载mdk的pack包:
https://www.mindmotion.com.cn...

下载下来后,打开压缩包,安装F5260的pack包,这样keil才能正解的识别target.

【按键与串口打印示例体验】
打开示例中的LibSamples_MM32F5260_V0.10.2\Samples\LibSamples\GPIO\GPIO_KEY_Input。这个示例是基于两个按键的示例,中间还有串口打印的驱动,根据原理图,原来的驱动是uart2的,我们根据需要修改到虚拟串口中。
根据原理图,VCP串口是接到PC10上的:

image.png

因此我修改的初始化的代码如下:

void PLATFORM_InitConsole(uint32_t Baudrate)
{
    GPIO_InitTypeDef GPIO_InitStruct;
    UART_InitTypeDef UART_InitStruct;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART3, 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(UART3, &UART_InitStruct);

    UART_Cmd(UART3, ENABLE);

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);

    GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_7);

    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_10;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOC, &GPIO_InitStruct);
}`
同时还需要修改一下重定向的串口号:
`/***********************************************************************************************************************
  * @brief  redefine fputc function
  * @note   for printf
  * @param  ch
  * @param  f
  * @retval ch
  *********************************************************************************************************************/
int fputc(int ch, FILE *f)
{
    UART_SendData(UART3, (uint8_t)ch);

    while (RESET == UART_GetFlagStatus(UART3, UART_FLAG_TXC))
    {
    }

    return (ch);
}

到此串口的驱动就完成了。

【按键驱动】
按键驱动,官方写得非常好,并且使用了状态机的驱动。

【下载验证】
image.png

按下开发板上的两个按键,可以实时控制灯的亮灭,同时串口打印出按键的状态。

【总结】
做为第一次接触灵动Mini-F5265-OB开发板,经过短时间的学习,就可以实现对两个外设进行操作,说明这款MCU的文档与示例写得非常之好,使得工程师可以快速掌握他的外设,把主要精力入在业务实现之上。

推荐阅读
关注数
0
文章数
4
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息