打印
[M0]

第一次玩MM32G0140核心板,不觉得怎么样

[复制链接]
698|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lmn2005|  楼主 | 2023-4-29 12:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lmn2005 于 2023-4-30 22:09 编辑

MM32G0140核心板,使用M0单片机MM32G0141C4PV。
核心板一端是串口调试接口,好像不支持程序下载。一端是mini SWD仿真接口,这边的接口对于本人来说,根本就没有用,因为手头mini SWD插头。
拿到开发板,第一件事一般是先点个灯试试。于是从灵动微官方下载了类似的开发板开发秩序包MM32G0140_Lib_Samples。打开里面的GPIO_LED_Toggle。
先试试看ST-link是否连接到MM32G0141吧,一看,居然连接不上:
检查端口,没错,这是按芯片手册的接法接的

换了jlink,还是无法连接到芯片。每个开发板上应该有电源指示LED吧,怎么也没有亮起?莫非板子的焊接有问题,或是板子设计有问题?于是只能暂时搁置。
第二天,果真在放大镜下看到第4脚VCC和第5脚GND居然是短路的,幸好SWD旁边的电源供电插针没有接上插帽,因为这个插针是用来连接3.3V输入电源的。

顺便通过万用表测试,LED接的是PA15引脚,PA15输出低电平时灯亮。
把VCC和GND短路点处理干净后,插上电源供电插帽,电源指示LED亮起。
再次接上STlink,这次能认到芯片了,下载也还正常了,但就是接上PA15的LED不亮,虽然原例程中的代码已经修改,控制了PA15的电平。
void GPIO_Configure(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;
    RCC_AHBPeriphClockCmd(RCC_AHBENR_GPIOA, ENABLE);
    GPIO_StructInit(&GPIO_InitStruct);
    GPIO_InitStruct.GPIO_Pin   = GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12| GPIO_Pin_15;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStruct.GPIO_Mode  = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOA, &GPIO_InitStruct);
    GPIO_WriteBit(GPIOA, GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12| GPIO_Pin_15, Bit_SET);
}

void GPIO_IO_Toggle(GPIO_TypeDef *GPIOn, uint16_t PINn)
{
    if (Bit_RESET == GPIO_ReadOutputDataBit(GPIOn, PINn))
    {
        GPIO_SetBits(GPIOn, PINn);
    }
    else
    {
        GPIO_ResetBits(GPIOn, PINn);
    }
}

void GPIO_LED_Toggle_Sample(void)
{
    printf("\r\nTest %s", __FUNCTION__);

    GPIO_Configure();

    while (1)
    {
        GPIO_IO_Toggle(GPIOA, GPIO_Pin_9);
        GPIO_IO_Toggle(GPIOA, GPIO_Pin_10);
        GPIO_IO_Toggle(GPIOA, GPIO_Pin_11);
        GPIO_IO_Toggle(GPIOA, GPIO_Pin_12);
        GPIO_IO_Toggle(GPIOA, GPIO_Pin_15);
        PLATFORM_DelayMS(100);
    }
}



于是进入仿真模式,查看寄存器值的变化。寄存器的值能变化,接在PA15的LED也能点亮,但想退出仿真模式,结果退也退不出来,只能强制退出。
再次检查烧开录设置,没有错!

要不重新上电试试吧,怎么?也不会闪灯。
看来只能厂家协助解决了。
​等待着------

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

457

帖子

1

粉丝