本帖最后由 abner_ma 于 2021-10-28 23:23 编辑

      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 封装
11.jpg

2.jpg
开发板原理图,麻雀虽小五脏俱全。带估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==


3.jpg

先点的灯;
1.jpg
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测评