[MM32硬件] 【MM32 eMiniBoard测评报告】+驱动串口屏试验

[复制链接]
 楼主| yljon 发表于 2020-4-26 21:26 | 显示全部楼层 |阅读模式
本帖最后由 yljon 于 2020-4-26 21:27 编辑

试验目标:使用MM32 eMiniBoard开发板驱动串口屏试验

一、初识开发板,准备好硬件
       拿到开发板,看上去很规整,全正面贴片,无手插件,无背面贴片元件:
1.供电是USB口,我要准备USB线
2.看见串口是3芯端子,我要准备3芯接头
3.有LED指示灯
有这几样就满足我测试需求了,我又准备了一个我的串口屏,齐活了。



MM32开发板硬件

MM32开发板硬件


二、搞点资料看看,电路图要搞到
上官网( www.mm32mcu.com )找些资料看看,电路图找到了:
确认了几个信息:
3芯端子是UART2,对应PA_2和PA_3
LED1对应PA15

这个信息在后面写程序要用啊,提前准备着

2.电路图.png


三、搭建环境,下个驱动才可以烧录
上官网( www.mm32mcu.com )下载USB驱动,将驱动装好后,
用USB线将开发板连接电脑,在设备管理器看见这样:


3.驱动.png

打开KEIL,在设置里看见这样,至此驱动安装就OK啦。

3.驱动2.png

四、搭建环境,芯片的PACK下载安装
由于我的开发环境是KEIL,下载安装的是MindMotion.MM32L0xx_DFP.1.0.8.pack
在KEIL里看见如下就意味着PACK搞好了。

pack1

pack1


pack2

pack2


五、搞定代码,点亮屏幕
官方给的库示例有REG和LIB,我偷懒使用LIB,LED代码直接拿过用,示例中
只有UART1,不过写个UART2也不会太有难度


  1. void LED_Init(void)
  2. {
  3.     GPIO_InitTypeDef  GPIO_InitStructure;

  4.     CFG_GPIO_Clock(GPIOA, ENABLE);
  5.     CFG_GPIO_Clock(GPIOB, ENABLE);
  6.     GPIO_StructInit(&GPIO_InitStructure);
  7.     GPIO_InitStructure.GPIO_Pin  =  GPIO_Pin_15;
  8.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  9.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  10.     GPIO_Init(GPIOA, &GPIO_InitStructure);

  11.     GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
  12.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  13.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  14.     GPIO_Init(GPIOB, &GPIO_InitStructure);

  15. }


  16. int UART2PinConfigWithParameter2(void)
  17. {
  18.     int result = 0;

  19.     GPIO_InitTypeDef GPIO_InitStructure;
  20.     GPIO_StructInit(&GPIO_InitStructure);
  21.     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
  22.     GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_1);
  23.     GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_1);
  24.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
  25.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  26.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  27.     GPIO_Init(GPIOA, &GPIO_InitStructure);

  28.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
  29.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_FLOATING;
  30.     GPIO_Init(GPIOA, &GPIO_InitStructure);
  31.     return result;
  32. }

  33. void UART2InitWithParameter(void)
  34. {
  35.     UART_InitTypeDef UART_InitStructure;

  36.     UART_StructInit(&UART_InitStructure);

  37.     CFG_UART_Clock(UART2, ENABLE);
  38.     UART_InitStructure.BaudRate       = 9600;
  39.     UART_InitStructure.WordLength     = UART_WordLength_8b;
  40.     UART_InitStructure.StopBits       = UART_StopBits_1;
  41.     UART_InitStructure.Parity         = UART_Parity_No;
  42.     UART_InitStructure.Mode           = UART_Mode_Rx | UART_Mode_Tx;
  43.     UART_InitStructure.HWFlowControl  = UART_HWFlowControl_None;

  44.     UART_Init(UART2, &UART_InitStructure);
  45.     UART_Cmd(UART2, ENABLE);
  46. }


  47. int main(void)
  48. {
  49.                 u8 ll=0;
  50.                 SendBuf[0]='n';
  51.                 SendBuf[1]='0';
  52.                 SendBuf[2]='.';
  53.                 SendBuf[3]='v';
  54.                 SendBuf[4]='a';
  55.                 SendBuf[5]='l';
  56.                 SendBuf[6]='=';
  57.                 SendBuf[7]='1';
  58.                 SendBuf[8]=0xff;
  59.                 SendBuf[9]=0xff;
  60.                 SendBuf[10]=0xff;
  61.                
  62.     delay_init();
  63.                 LED_Init();
  64.                 UART2PinConfigWithParameter();
  65.     UART2InitWithParameter();
  66.                
  67.                 while(1)
  68.                 {
  69.                                 for (ll=0;ll<11;ll++)
  70.                         {
  71.                                         UART_SendData(UART2, SendBuf[ll]);
  72.                                         mydelay();
  73.                         }
  74.                         SendBuf[7]=SendBuf[7]+1;
  75.                         if(SendBuf[7]=='9')
  76.                         {
  77.                                 SendBuf[7]='1';
  78.                         }
  79.                         delay_ms(500);
  80.                         LED1_TOGGLE();
  81.                         LED2_TOGGLE();
  82.                         LED3_TOGGLE();
  83.                         LED4_TOGGLE();
  84.                         delay_ms(500);
  85.     }

  86. }

六、学习将视频转GIF,看着方便
将上述代码编译烧录,看看效果,还可以啊,哈哈哈哈

屏



动态

动态


七、开发板评价
1. 灵动的这个系列的开发板总体制作精良,用心了
2. 代码风格和ST类似,上手也快
3. 外设功能和ST有细微差异,看过手册也都能明白
4. 这块开发板的其它功能,待后续慢慢搞
5. 最后,为二姨家举办这样的活动,点赞






wziyi 发表于 2020-4-27 07:10 | 显示全部楼层
看了这么多评测帖子,你这是最走心的一个
 楼主| yljon 发表于 2020-4-27 09:25 | 显示全部楼层
wziyi 发表于 2020-4-27 07:10
看了这么多评测帖子,你这是最走心的一个

谢谢
21ic小喇叭 发表于 2020-4-29 09:33 | 显示全部楼层
感谢您的认真分享,优质内容我们送您一份小礼物~
 楼主| yljon 发表于 2020-4-29 09:52 | 显示全部楼层
21ic小喇叭 发表于 2020-4-29 09:33
感谢您的认真分享,优质内容我们送您一份小礼物~

谢谢小喇叭
gygp 发表于 2020-5-2 08:52 | 显示全部楼层
驱动串口屏速度快吗   
 楼主| yljon 发表于 2020-5-2 09:28 | 显示全部楼层
gygp 发表于 2020-5-2 08:52
驱动串口屏速度快吗

速度很快,因为背景素材啥的是提前在屏里,每次只通信数据即可
 楼主| yljon 发表于 2020-5-12 15:34 | 显示全部楼层
感谢21IC举办的活动,感谢灵动的开发板,这是@21ic小喇叭 送的,三克油

微信图片_20200512153042.jpg
gejigeji521 发表于 2020-5-21 21:26 | 显示全部楼层
手法666
 楼主| yljon 发表于 2020-5-22 10:47 | 显示全部楼层

见笑了,后续请多多指教!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

420

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部

23

主题

420

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部