本帖最后由 wenyangzeng 于 2014-12-23 22:43 编辑 手头有1片RA8835主控芯片的320X240图形液晶模块,决定拿它在STM32F072 Nucleo 开发板上试用看看。使用杜邦连接线进行连接,见下图: 进入STM32CubeMX 花费2分钟简单配置了相关GPIO口为推挽输出,导入MDK5。在MDK5中添加驱动RA8835的相关函数,,并为要显示的汉字提取了字模。显示效果见下图: 控制RA8835的GPIO口的位操作采用以下预定义: #define cs_H HAL_GPIO_WritePin(GPIOA,GPIO_PIN_10,GPIO_PIN_SET) #define cs_L HAL_GPIO_WritePin(GPIOA,GPIO_PIN_10,GPIO_PIN_RESET) #define a0_H HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET) #define a0_L HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET) #define wr_H HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,GPIO_PIN_SET) #define wr_L HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,GPIO_PIN_RESET) #define rst_H HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_SET) #define rst_L HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,GPIO_PIN_RESET) #define rd_H HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET) #define rd_L HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET) 而传送给RA8835数据总线的底层函数操作,找遍了STM32CubeMX生成的固件库竟然找不到诸如STM32F0固件库的16位的数据传输之类函数: GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal) 可供调用,使得用惯固件函数调用的习惯现在有点不适应了。只能采用寄存器操作方式进行: void write_cmda(uint8_t cm,uint8_t com) { cs_L; if(cm==0) a0_L; else a0_H; wr_L; GPIOC->ODR &=0xff00; GPIOC->ODR |=com; __nop();__nop(); __nop();__nop(); wr_H; __nop();__nop(); __nop();__nop(); __nop();__nop(); } int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); lcd_init(); lcd_clr(); Gotoxy(0x00,0x00); LCD_kuang(); disp_ascii0816("STM32F072-Nulceo",2006); display_hanzi(kai,1664); display_hanzi(fa,1667); display_hanzi(ban,1670); display_hanzi(qu,3406); display_hanzi(dong,3409); disp_ascii0816("320x240 LCM",3814); display_hanzi(mo,3466); display_hanzi(kuai,3469); display_hanzi(bian,5206); display_hanzi(cheng,5209); display_hanzi(huan,5212); display_hanzi(jing,5215); display_hanzi(maohao,5218); disp_ascii0816("STM32 CubeMX & MDK5",7010); while (1) { } } CubeMX爱你不容易! |
LCD320240 .rar
下载7 KB, 下载次数: 217, 下载积分: ST金币 -1
谢谢楼主分享~
https://www.stmcu.org.cn/module/forum/thread-598151-1-1.html
在1楼呀,下载次数66,楼上需要配眼镜了。