【前言】
感谢面包板社区与敏矽微科技给了我体验敏矽微ME32F103 Demokit开发板的机会。拿到开发板后,上百度网盘拿的到了资料,今天成功的体验了一下快捷的开发。
【资料准备】
工程是在百度网盘的ME32F103目下面,下载后解压出来,在里面就有我们开发需要的资料,如下图标注所示:
【软件安装】
双击安装.pack包后,就可以使用mdk来进行开发了。
【工程示例】
在lib2.2下面有齐全的示例,打开包后就可以直接运行下载。
【下载】
我使用jlink进行下载,手上没有me32的下载,可以直接选用stm32f103RBT6的下载就行。在keil的debug下面选用SW下载,可以成功的看到芯片:
打开demo 4dig 7led工程,在demo.c中可以看到代码如下:
- //LED display matrix demo Main Program
- #include "me32f103.h"
- #include "me32f103_sys.h"
- #include "me32f103_ioconfig.h"
- #include "me32f103_led.h"
- extern uint32_t PCLK;
- //Main function entry
- //a b c d e f g dp
- //seg 0~7
- // 0 1 2 3 4 5 6 7 8 9 dp
- uint8_t led[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80};
- int main(void)
- {
- uint8_t graytemp=0;
- uint8_t grayinc=1;
- SYSCON->CLKBYPASSEN=3;
- SystemCoreClockUpdate ();
- //initial LED pin
- PA9_INIT(PA9_LED_COM0);
- PA10_INIT(PA10_LED_COM1);
- PA11_INIT(PA11_LED_COM2);
- PA12_INIT(PA12_LED_COM3);
- // PB8_INIT(PB8_LED_COM4);
- // PB9_INIT(PB9_LED_COM5);
- // PC14_INIT(PC14_LED_COM6);
- // PC15_INIT(PC15_LED_COM7);
- PB3_INIT(PB3_LED_SEG0);
- PB4_INIT(PB4_LED_SEG1);
- PB5_INIT(PB5_LED_SEG2);
- PB6_INIT(PB6_LED_SEG3);
- PA4_INIT(PA4_LED_SEG4);
- PA5_INIT(PA5_LED_SEG5);
- PA6_INIT(PA6_LED_SEG6);
- PA7_INIT(PA7_LED_SEG7);
- // PB15_INIT(PB15_LED_COMSEG8);
- // PB14_INIT(PB14_LED_COMSEG9);
- // PB13_INIT(PB13_LED_COMSEG10);
- // PB12_INIT(PB12_LED_COMSEG11);
- // PD2_INIT(PD2_LED_COMSEG12);
- // PC12_INIT(PC12_LED_COMSEG13);
- // PC11_INIT(PC11_LED_COMSEG14);
- // PC10_INIT(PC10_LED_COMSEG15);
-
- LED_Init (COM0_3,CATHODE,0);
-
- while(1)
- {
- if (grayinc)
- graytemp++;
- else
- graytemp--;
- if (graytemp==0xFF)
- grayinc=0;
- if (graytemp==0)
- grayinc=1;
-
- LED_Fill(COM3,led[3],graytemp);
- LED_Fill(COM2,led[2],graytemp);
- LED_Fill(COM1,led[1],graytemp);
- LED_Fill(COM0,led[0],graytemp);
- SYS_Delay(0x3fff);
- }
- }
【计数器代码的编写】
- while(1)
- {
- tick++;
- if(tick >=9999)
- {
- tick = 0;
- }
- LED_Fill(COM0,led[tick/1000],0xFF);
- LED_Fill(COM1,led[tick%1000/100],0xFF);
- LED_Fill(COM2,led[tick%100/10],0xFF);
- LED_Fill(COM3,led[tick%10],0xFF);
- SYS_Delay(0xffff);
- }
【实验效果】
可以看到数据码计时增加显示: