敏矽微ME32F103 RISC开发板是一款基于Arm Cortex-M3内核的开发工具,其工作频率最高可达100 MHz,
内嵌高速存储器(闪存高达128 KB,30MHz;SRAM高达16 KB,单周期读写),DMA,以及增强I/O和连接到两条APB总线的外设。该MCU支持16通道(其中2通道带64倍增益的运算放大器)12位ADC,可配置的运算放大器,2个比较器,4个通用16位基本定时器,2个16位高级定时器,1个带8通道输出的PWM以及标准和高级通信接口:2个I2C,2个SPI,5个串口(4个标准UART(其中两个带硬件握手),1个带LIN的UART)和一个CAN2.0。
敏矽微ME32F103 开发板是通过扩展引脚来供用户使用其芯片资源,并配有4位笔段式数码管以供显示的需要,其外观如图1所示。
图1 开发板
由数码管电路可知,其驱动数码管的引脚是通过指拨开关来连接,故这些引脚资源并未完全被数码管所独自占用,而是可以实现共享使用的。
图2 数码管电路
在上电的情况下,可见到电源指示灯被点亮。此外,数码管被完全点亮且绿色指示灯在不停地闪烁着,见图3所示。
图2 上电状态
此时,若在电脑侧打开设备管理器,则会见到有虚拟串口呈现,见图3所示。
图3 虚拟串口
由图4所示的串口电路可知,其使用的USB转串口芯片为CH340N,若不能见到虚拟串口,则需安装对应的驱动程序。
图4 串口电路
为了进行ISP下载,开发板上配有相应连接接口,见图5所示。
图5 ISP下载连接接口
此外,开发板上还提供了SWD接口与外部的调试器连接,见图6所示。
图6 SWD接口
为了便于CAN通讯,板上还配置了CAN接口电路,见图7所示。
图7 CAN接口
那敏矽微ME32F103开发板是采用哪种开发工具呢?
从官网所提供的开发工具看,它支持Keil或IAR来开发。
我选取的是以Keil作为开发工具,在下载并安装MDK528a.exe后,再下载并解压安装包”me32f103 lib 20220110”。在解压后,会得到相应的例程和芯片支持程序。
在安装芯片支持后,会见到图8所示的界面。
图8 添加芯片支持
测试打开相应的例程并予以便于,则结果如图9所示,说明编译成功。
图9 开发界面
由于开发板只提供了调试器接口,并未提供板载的调试器,故需自行配置。为此,本人选取了雅特力的调试器来测试,其连接关系见图10所示。
图10 调试器连接
在连接该调试器的情况下,其设置与连接状态如图11所示。图11 调试器设置及状态
在完成程序下载后,其状态见图12所示,说明下载完成。
图12 下载测试
然而,在下载后并未见到期待的显示,那原因是什么呢?
经观察,测试的主程序为:
- int main(void)
- {
- SYS_ExtOSC_EN();
- SYS_PLL_Config(EXTERNAL_CLK,72000000);
- SYS_SelectMainClkSrc(PLL_CLK);
- SYS_SetAHBClkDivider (1);
- SYS_SetAPBClkDivider (1);
- PC13_INIT(PC13_GPIO);
- PC_INIT_AS_OUTPUT(IO_PIN13);
- while(1)
- {
- if (GPIO_GetPinState(PC, IO_BIT_PIN13))
- GPIO_ResetPins(PC, IO_BIT_PIN13);
- else
- GPIO_SetPins(PC, IO_BIT_PIN13);
- SYS_Delay(0x8ffff);
- }
- }
也就是说,该程序是通过PC13来向外部器件输出高低电平,而开发板上的LED是与PC4相连接的,故不会见到LED的变化。若将该引脚连接到外部的LED模块,则会见到LED闪烁点亮,其效果如图13闪烁。这样既验证了程序的下载功能,也完成了例程的功能验证。
图13 LED电路
图14 测试效果