不知不觉已经到了龙年2024,来show一下我2023年双十一最贵战利品吧“中微BAT32A237-EVB”。
拿到板子别浪费,资料找一找,玩起来。
芯片数据手册,用户手册芯片固件库以及其他资料
https://www.mcu.com.cn/Products/317/pids/14.html
中微BAT32A237-EVB的原理图
https://www.mcu.com.cn/support-development/577.html
从上图可以看出,EVB采用的是板载仿真器与主控MCU设计在同一块板子上的布局方式,中间采用挖空的方式实现板载调试器可掰开单独使用的方案,这种可以让电路板充分被使用。主控为BAT32A237KH64FB,电路设计笔记哦奥简单,将所有IO都尽数引出,同时引出了LIN与CAN,可以看出,该芯片面向的应用大致是车规方面的了。硬件先分析到这儿,接下来说软件。
资料找到并下载好之后,就可以愉快的玩耍喽。看固件库以及提供的资料来说,是可以使用keil开发的,keil比较简单,这里keil的环境搭建就不过多介绍了。
最后的工程是这样(借用了官方的例程)。
通过上述的原理图可以看出,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;
- }
- }
直接选择CMSIS DAP,当出现ID的时候,就可以调试仿真了
最后烧录成功的状态如下图所示。
其实看完程序,可以说,中微的BAT32A237KH64FB还是比较容易开发的,而且确实官方介绍该芯片的时候,说大致应用场景是车规方面,主要是汽车氛围灯、汽车功能开关、汽车阅读灯等方案,不过我看这芯片引脚和功能都很丰富,所以做一些非车规方案产品估计也是没问题的。
最后,感谢面包板的给力双十一活动。新年快乐~