eMiniBoard开发板搭载MM32主流型:MM32F3270单片机,使用高性能的 Arm® Cortex®-M3 为内核的 32 位微控制器,最高工作频率可达 120MHz,内置高速存储器,丰富的 I/O 端口和多种外设。它同时具备了高性能和低功耗的特点。 MM32F3270 系列采用矩阵总线结构,该矩阵包括五个 AHB 主机: CPU,DMA1, DMA2, USB 和 Ethernet, 从机分别是 SRAM、闪存存储、 FSMC、 AHB 总线(含 AHB 到 APB的总线桥)以及连接在 APB 总线的各种设备。- 3 个 12 位的 ADC、2 个 12 位的DAC、2 个比较器- 2 个 16 位通用定时器、2 个 32 位通用定时器、2 个 16 位基本定时器和 2 个 16 位高级定时器- 2 个 I2C 接口、3 个 SPI 接口、3 个 I2S 接口和 8 个 UART 接口- 1 个 USB OTG 全速接口- 1 个 CAN 接口- 1 个 SDIO 接口- 1 个 Ethernet 接口- 工作电压为 2.0V - 5.5V- 工作温度范围(环境温度)-40℃ - 85℃ 工业型和-40℃ - 105℃ 扩展工业型(后缀为V)- 多种省电工作模式支持低功耗应用的需求- 提供 LQFP144、LQFP100、LQFP64、LQFP48 和 QFN40 封装


开发板原理图,麻雀虽小五脏俱全。带估SPI,IIC ,CAN驱动芯片,便于评估,有源蜂鸣器。开机通电就奏乐。
https://v.youku.com/v_show/id_XNTgxNjM5NjI4MA==.html?spm=a2hbt.13141534.1_2.d_1&scm=20140719.manual.114461.video_XNTgxNjM5NjI4MA==

先点的灯;

void LED_Init(void){ RCC->AHBENR |= RCC_AHBENR_GPIOA | RCC_AHBENR_GPIOB; //enable GPIOA,B clock GPIOA->AFRH &= ~(GPIO_AF_MODEMASK << GPIO_AFRH_AFR15_Pos); GPIOA->AFRH |= (GPIO_AF_MODE15 << GPIO_AFRH_AFR15_Pos); GPIOB->AFRL &= ~(GPIO_AF_MODEMASK << GPIO_AFRL_AFR3_Pos); GPIOB->AFRL |= ((GPIO_AF_MODE15 << GPIO_AFRL_AFR3_Pos)); GPIOB->AFRL &= ~(GPIO_AF_MODEMASK << GPIO_AFRL_AFR4_Pos); GPIOB->AFRL |= ((GPIO_AF_MODE15 << GPIO_AFRL_AFR4_Pos)); GPIOB->AFRL &= ~(GPIO_AF_MODEMASK << GPIO_AFRL_AFR5_Pos); GPIOB->AFRL |= ((GPIO_AF_MODE15 << GPIO_AFRL_AFR5_Pos)); GPIOA->CRH &= ~(GPIO_CNF_MODE_MASK << GPIO_CRH_CNF_MODE_15_Pos); GPIOA->CRH |= GPIO_CNF_MODE_OUT_PP << GPIO_CRH_CNF_MODE_15_Pos; GPIOA->ODR |= GPIO_ODR_ODR15; //PA15 output high //set PB3,PB4,PB5 as push-pull output GPIOB->CRL &= ~((GPIO_CNF_MODE_MASK << GPIO_CRL_CNF_MODE_3_Pos) | \ (GPIO_CNF_MODE_MASK << GPIO_CRL_CNF_MODE_4_Pos) | \ (GPIO_CNF_MODE_MASK << GPIO_CRL_CNF_MODE_5_Pos) ); GPIOB->CRL |= ((GPIO_CNF_MODE_OUT_PP << GPIO_CRL_CNF_MODE_3_Pos) | \ (GPIO_CNF_MODE_OUT_PP << GPIO_CRL_CNF_MODE_4_Pos) | \ (GPIO_CNF_MODE_OUT_PP << GPIO_CRL_CNF_MODE_5_Pos) ); GPIOB->ODR |= GPIO_ODR_ODR3 | GPIO_ODR_ODR4 | GPIO_ODR_ODR5; //PB3,PB4,PB5 output high LED1_OFF(); LED2_OFF(); LED3_OFF(); LED4_OFF(); } #define LED1_ON() GPIOA->BRR=GPIO_BRR_BR15// PA15 #define LED1_OFF() GPIOA->BSRR = GPIO_BSRR_BS15// PA15 #define LED1_TOGGLE() (GPIOA->ODR&GPIO_ODR_ODR15)?(GPIOA->BRR=GPIO_BRR_BR15):(GPIOA->BSRR = GPIO_BSRR_BS15) #define LED2_ON() GPIOB->BRR=GPIO_BRR_BR3// PB3 #define LED2_OFF() GPIOB->BSRR = GPIO_BSRR_BS3// PB3 #define LED2_TOGGLE() (GPIOB->ODR&GPIO_ODR_ODR3)?(GPIOB->BRR=GPIO_BRR_BR3):(GPIOB->BSRR = GPIO_BSRR_BS3) #define LED3_ON() GPIOB->BRR=GPIO_BRR_BR4// PB4 #define LED3_OFF() GPIOB->BSRR = GPIO_BSRR_BS4// PB4 #define LED3_TOGGLE() (GPIOB->ODR&GPIO_ODR_ODR4)?(GPIOB->BRR=GPIO_BRR_BR4):(GPIOB->BSRR = GPIO_BSRR_BS4) #define LED4_ON() GPIOB->BRR=GPIO_BRR_BR5// PB5 #define LED4_OFF() GPIOB->BSRR=GPIO_BSRR_BS5// PB5 #define LED4_TOGGLE() (GPIOB->ODR&GPIO_ODR_ODR5)?(GPIOB->BRR=GPIO_BRR_BR5):(GPIOB->BSRR = GPIO_BSRR_BS5) void LED_Init(void); <div>s32 main(void) <span style="background-color: rgb(255, 255, 255);">{</span> <span style="background-color: rgb(255, 255, 255);"> DELAY_Init();</span> <span style="background-color: rgb(255, 255, 255);"> LED_Init();</span> <span style="background-color: rgb(255, 255, 255);"> while(1) {</span> <span style="background-color: rgb(255, 255, 255);"> LED1_TOGGLE();</span> <span style="background-color: rgb(255, 255, 255);"> LED2_TOGGLE();</span> <span style="background-color: rgb(255, 255, 255);"> LED3_TOGGLE();</span> <span style="background-color: rgb(255, 255, 255);"> LED4_TOGGLE();</span> <span style="background-color: rgb(255, 255, 255);"> DELAY_Ms(1000);</span> <span style="background-color: rgb(255, 255, 255);"> }</span> <span style="background-color: rgb(255, 255, 255);">}</span>
复制代码下一步进行驱动TFT RGB测评