不知不觉已经到了龙年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还是比较容易开发的,而且确实官方介绍该芯片的时候,说大致应用场景是车规方面,主要是汽车氛围灯、汽车功能开关、汽车阅读灯等方案,不过我看这芯片引脚和功能都很丰富,所以做一些非车规方案产品估计也是没问题的。
最后,感谢面包板的给力双十一活动。新年快乐~