本帖最后由 逗徐坤 于 2024-1-6 14:41 编辑

不知不觉已经到了龙年2024,来show一下我2023年双十一最贵战利品吧“中微BAT32A237-EVB”。
001.png

拿到板子别浪费,资料找一找,玩起来。
芯片数据手册,用户手册芯片固件库以及其他资料
https://www.mcu.com.cn/Products/317/pids/14.html
中微BAT32A237-EVB的原理图
https://www.mcu.com.cn/support-development/577.html
003.png
从上图可以看出,EVB采用的是板载仿真器与主控MCU设计在同一块板子上的布局方式,中间采用挖空的方式实现板载调试器可掰开单独使用的方案,这种可以让电路板充分被使用。主控为BAT32A237KH64FB,电路设计笔记哦奥简单,将所有IO都尽数引出,同时引出了LIN与CAN,可以看出,该芯片面向的应用大致是车规方面的了。硬件先分析到这儿,接下来说软件。
资料找到并下载好之后,就可以愉快的玩耍喽。看固件库以及提供的资料来说,是可以使用keil开发的,keil比较简单,这里keil的环境搭建就不过多介绍了。
最后的工程是这样(借用了官方的例程)。
002.png

通过上述的原理图可以看出,LED所引出的引脚为71与72,因此在LED初始化的地方,配置一下。
void Led_Init(void)
  • {
  •     GPIO_InitTypeDef GPIO_InitStruct = {0};
  •     GPIO_InitStruct.GPIO_Pin    = GPIO_Pin_1 | GPIO_Pin_2 ;
  •     GPIO_InitStruct.GPIO_Mode   = GPIO_Mode_OUT;
  •     GPIO_InitStruct.GPIO_Level  = GPIO_Level_HIGH;
  •     GPIO_Init(GPIO_PORT7, &GPIO_InitStruct);
  • }
  • 复制代码
    最后主函数的代码结构如下:
    int main()
  • {
  •     uint32_t msCnt;     // count value of 1ms
  •     //-----------------------------------------------------------------------
  •     // Systick setting
  •     //-----------------------------------------------------------------------
  •     int len;
  •     /*  Write C code in this online editor and run it. */
  •     SystemCoreClockUpdate();
  •     msCnt = SystemCoreClock / 1000;
  •     SysTick_Config(msCnt);
  •     delay_init(SystemCoreClock);

  •     Led_Init();

  •     while (1)
  •     {
  •         delayMS(500);
  • //        LED_Toggle;
  •         LED_ON;
  •         LED1_ON;
  •         delayMS(500);
  •         LED_OFF;
  •         LED1_OFF;
  •     }
  • }
  • 复制代码
    其实看完代码结构,可以说是和我常用的ST的MCU代码结构差不多
    直接选择CMSIS DAP,当出现ID的时候,就可以调试仿真了
    最后烧录成功的状态如下图所示。
    004.png

    其实看完程序,可以说,中微的BAT32A237KH64FB还是比较容易开发的,而且确实官方介绍该芯片的时候,说大致应用场景是车规方面,主要是汽车氛围灯、汽车功能开关、汽车阅读灯等方案,不过我看这芯片引脚和功能都很丰富,所以做一些非车规方案产品估计也是没问题的。

    最后,感谢面包板的给力双十一活动。新年快乐~