参加二姨家每周五抽奖活动中了盲盒开发板,FM33LC046这颗料还是不错的,48MHz主频,256KB flash,32KB RAM, 集成LCD、RTC、温度传感器、ADC以及UART、I2C、SPI、7816等通用外设接口,应用领域还是很广泛的。 从复旦微开发者论坛下载这块开发板的相关资料,包括芯片资料、固件包、原理图、例程等。 http://www.fmdevelopers.com.cn/forum.html?mod=viewthread&tid=1749 在keil环境安装好固件包,打开例程,这里要说一下,复旦微的MCU例程还是很丰富的,这次的测评还是选择点亮板载LED吧。打开例程WWDT Interrupt,从原理图上可以看到,板上的2个指示灯LED1和LED2分别与PC0和PC1相连,例程中只点亮了LED1,修改例程,同时点亮LED2。
对以下几个文件做修改。 修改mf_config.c void MF_GPIO_Init(void) { FL_GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.pin = FL_GPIO_PIN_0; GPIO_InitStruct.mode = FL_GPIO_MODE_OUTPUT; GPIO_InitStruct.outputType =FL_GPIO_OUTPUT_PUSHPULL; GPIO_InitStruct.pull = FL_DISABLE; GPIO_InitStruct.remapPin = FL_DISABLE; FL_GPIO_Init(GPIOC,&GPIO_InitStruct); GPIO_InitStruct.pin = FL_GPIO_PIN_1; GPIO_InitStruct.mode = FL_GPIO_MODE_OUTPUT; GPIO_InitStruct.outputType =FL_GPIO_OUTPUT_PUSHPULL; GPIO_InitStruct.pull = FL_DISABLE; GPIO_InitStruct.remapPin = FL_DISABLE; FL_GPIO_Init(GPIOC,&GPIO_InitStruct); } 增加对PC1脚的配置。 修改led.h #define LED0_GPIO GPIOC #define LED0_PIN FL_GPIO_PIN_0 #define LED1_GPIO GPIOC #define LED1_PIN FL_GPIO_PIN_1 #define LED0_ON() FL_GPIO_ResetOutputPin(LED0_GPIO, LED0_PIN) #define LED0_OFF() FL_GPIO_SetOutputPin(LED0_GPIO, LED0_PIN) #define LED0_TOG() FL_GPIO_ToggleOutputPin(LED0_GPIO, LED0_PIN) #define LED1_ON() FL_GPIO_ResetOutputPin(LED1_GPIO, LED1_PIN) #define LED1_OFF() FL_GPIO_SetOutputPin(LED1_GPIO, LED1_PIN) #define LED1_TOG() FL_GPIO_ToggleOutputPin(LED1_GPIO, LED1_PIN) 修改led.c void LedToggle(uint32_tcount) { while (count--) { LED0_ON(); FL_DelayMs(100); LED0_OFF(); FL_DelayMs(100); LED1_ON(); FL_DelayMs(100); LED1_OFF(); FL_DelayMs(100); } } 主程序main.c不用修改。 编译无报错。
将仿真器的4根线分别接到板子的SWD(J35):SWIO、SWCLK、GND、VCC,程序下载成功。 程序运行效果如下图:
LED1、LED2循环闪烁50次后熄灭。
|