找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2068|回复: 3
收起左侧

第一次玩M0单片机核心板

[复制链接]
ID:71233 发表于 2023-4-29 12:53 | 显示全部楼层 |阅读模式
MM32G0140核心板,使用M0单片机MM32G0141C4PV。
实物(正面).jpg 实物(背面).jpg

核心板一端是串口调试接口,好像不支持程序下载。一端是mini SWD仿真接口,这边的接口对于本人来说,根本就没有用,因为手头mini SWD插头。
拿到开发板,第一件事一般是先点个灯试试。于是从灵动微官方下载了类似的开发板开发秩序包MM32G0140_Lib_Samples。打开里面的GPIO_LED_Toggle。
先试试看ST-link是否连接到MM32G0141吧,一看,居然连接不上:
002无法认到芯片.jpg
检查端口,没错,这是按芯片手册的接法接的
001SWD端口接法.jpg
换了jlink,还是无法连接到芯片。每个开发板上应该有电源指示LED吧,怎么也没有亮起?莫非板子的焊接有问题,或是板子设计有问题?于是只能暂时搁置。
第二天,果真在放大镜下看到第4脚VCC和第5脚GND居然是短路的,幸好SWD旁边的电源供电插针没有接上插帽,因为这个插针是用来连接3.3V输入电源的。
004原来此处是电源接通插针.jpg
顺便通过万用表测试,LED接的是PA15引脚,PA15输出低电平时灯亮。
把VCC和GND短路点处理干净后,插上电源供电插帽,电源指示LED亮起。
再次接上STlink,这次能认到芯片了,下载也还正常了,但就是接上PA15的LED不亮,虽然原例程中的代码已经修改,控制了PA15的电平。
  1. void GPIO_Configure(void)

  2. {

  3.     GPIO_InitTypeDef GPIO_InitStruct;

  4.     RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA, ENABLE);

  5.     GPIO_StructInit(&GPIO_InitStruct);

  6.     GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12| GPIO_Pin_15;

  7.     GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;

  8.     GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_Out_PP;

  9.     GPIO_Init(GPIOA, &GPIO_InitStruct);

  10.     GPIO_WriteBit(GPIOA, GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12| GPIO_Pin_15, Bit_SET);

  11. }



  12. void GPIO_IO_Toggle(GPIO_TypeDef *GPIOn, uint16_t PINn)

  13. {

  14.     if (Bit_RESET == GPIO_ReadOutputDataBit(GPIOn, PINn))

  15.     {

  16.         GPIO_SetBits(GPIOn, PINn);

  17.     }

  18.     else

  19.     {

  20.         GPIO_ResetBits(GPIOn, PINn);

  21.     }

  22. }



  23. void GPIO_LED_Toggle_Sample(void)

  24. {

  25.     printf("\r\nTest %s", __FUNCTION__);



  26.     GPIO_Configure();



  27.     while (1)

  28.     {

  29.         GPIO_IO_Toggle(GPIOA, GPIO_Pin_9);

  30.         GPIO_IO_Toggle(GPIOA, GPIO_Pin_10);

  31.         GPIO_IO_Toggle(GPIOA, GPIO_Pin_11);

  32.         GPIO_IO_Toggle(GPIOA, GPIO_Pin_12);

  33.         GPIO_IO_Toggle(GPIOA, GPIO_Pin_15);

  34.         PLATFORM_DelayMS(100);

  35.     }

  36. }
复制代码

于是进入仿真模式,查看寄存器值的变化。寄存器的值能变化,接在PA15的LED也能点亮,但想退出仿真模式,结果退也退不出来,只能强制退出。
再次检查烧开录设置,没有错!
003烧录设置.jpg
要不重新上电试试吧,怎么?也不会闪灯。
看来只能厂家协助解决了。
等待着-----

回复

使用道具 举报

ID:561623 发表于 2023-5-5 16:40 | 显示全部楼层
都玩M0了还搞仿真看寄存器,那你得多累呀,玩串口打印吧,把要的结果和过程用串口输出到电脑的串口助手上看不是爽得多,
回复

使用道具 举报

ID:71233 发表于 2023-5-8 13:36 | 显示全部楼层
电子辉 发表于 2023-5-5 16:40
都玩M0了还搞仿真看寄存器,那你得多累呀,玩串口打印吧,把要的结果和过程用串口输出到电脑的串口助手上看 ...

一步一步来嘛。
回复

使用道具 举报

ID:108361 发表于 2024-1-10 09:04 | 显示全部楼层
检查boot脚,你的程序可能只在ram中运行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表