你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[STM32F072 Nucleo ] 开发板驱动320240LCD  

[复制链接]
wenyangzeng 提问时间:2014-12-23 22:35 /
本帖最后由 wenyangzeng 于 2014-12-23 22:43 编辑

    手头有1片RA8835主控芯片的320X240图形液晶模块,决定拿它在STM32F072 Nucleo 开发板上试用看看。使用杜邦连接线进行连接,见下图:
LCD.JPG
    进入STM32CubeMX 花费2分钟简单配置了相关GPIO口为推挽输出,导入MDK5。在MDK5中添加驱动RA8835的相关函数,,并为要显示的汉字提取了字模。显示效果见下图:
照片 034.jpg


    控制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, 下载次数: 235, 下载积分: ST金币 -1

收藏 1 评论38 发布时间:2014-12-23 22:35

举报

38个回答
wenyangzeng 回答时间:2018-3-14 11:58:49
本帖最后由 wenyangzeng 于 2018-3-14 13:00 编辑
cyh5460 发表于 2018-3-13 23:13
能否将整个工程包发我一下,谢谢

不明白楼上是在编程呢?还是让人代编程?整个RA8835最底层函数都共享了,应该自己消化吸收,化为自己的知识财富。要写好RA8835,楼主必须吃透RA8835工作原理,才可以自由发挥。比如RA8835显示方式与其他12864不同,它是每水平行8个Bit一次扫描,扫描40个字节完成1行,12864则是垂直扫描1列。工作原理不同。
    楼主让我发送整个全部源代码给你。源代码全部也就显示帖子开头图片里的显示信息而已。如何套在您的应用中?
   举个例子:你如何在实际应用中在任何位置显示16点阵、24点阵、32点阵、64点阵汉字?
    编程过程参考别人的代码是正常的也是必须经过的过程,但是别人的代码只是参考借鉴。要自己深入进去研究,才能真正写出自己的财富!其实写LCD最主要的就是初始化代码,这些代码如果厂家不给你,你是无法成功的。请你珍惜楼主共享给你的RA8835底层原始代码,真正做到他为己用。将近4年前的帖子,全部源代码多次修改,实在无法完全还原,望谅!
   祝楼上不断进步。  
还有差点忘记:那个AsciiDot0816()故名思意是一个ASIIC 8×16点阵英文符号显示的函数而已,而ASIIC 8×16点字库应该到处DownLoad都找得到的。

wenyangzeng 回答时间:2019-10-18 14:47:23
带你飞啊啊 发表于 2019-10-18 14:37
楼主我想问问看。。。你有检测busy繁忙标志?为啥我一直是繁忙标志高电平,,第二个是所有的字库全靠写一行 ...

1、无需检测忙;
2、8835是一次写8Bit,字库当然要自己做;
3、打点函数实际上还是一次写8Bit,经过与或得到某一点的写入
4、读数据估计是读方向旋转了90°所以不正常。
带你飞啊啊 回答时间:2019-10-18 16:06:30
wenyangzeng 发表于 2019-10-18 14:47
1、无需检测忙;
2、8835是一次写8Bit,字库当然要自己做;
3、打点函数实际上还是一次写8Bit,经过与或得 ...

读数据手册说要不在繁忙才能读。。然后如果忽略繁忙直接读 ,0xff或0x00写全屏,读到的数据都一直变,所以我不清楚啥情况。。旋转90°啥意思
沐紫 回答时间:2014-12-24 10:07:18
谢谢楼主分享~
程序员 回答时间:2014-12-27 19:30:08
楼主厉害啊
zhanglaoda 回答时间:2015-1-5 12:26:33
可以专门设一个图形驱动板块。
博根 回答时间:2015-1-5 13:14:20

谢谢楼主分享~
AndyYau-268557 回答时间:2015-1-5 13:28:48
我win7装mdk5失败了,加不上pack怎么回事?自己下载也加载不了,有明白人指导下吗?
wenyangzeng 回答时间:2015-1-6 19:59:11
AndyYau-268557 发表于 2015-1-5 13:28
我win7装mdk5失败了,加不上pack怎么回事?自己下载也加载不了,有明白人指导下吗? ...

https://www.stmcu.org.cn/module/forum/thread-598151-1-1.html
AndyYau-268557 回答时间:2015-1-6 20:04:51
谢谢,得以解决
深圳小明 回答时间:2017-2-4 13:39:36
没看到代码啊
wenyangzeng 回答时间:2017-2-4 16:04:26
本帖最后由 wenyangzeng 于 2017-2-4 17:32 编辑

在1楼呀,下载次数66,楼上需要配眼镜了。
深圳小明 回答时间:2017-2-14 10:39:18
wenyangzeng 发表于 2017-2-4 16:04
在1楼呀,下载次数66,楼上需要配眼镜了。

我知道1楼,下载次数72了,但是下载下来只有一个hex文件。所以我才说没有看到代码。
wenyangzeng 回答时间:2017-2-15 10:28:59
深圳小明 发表于 2017-2-14 10:39
我知道1楼,下载次数72了,但是下载下来只有一个hex文件。所以我才说没有看到代码。 ...

这个文件可供你参考:
RA8835LCD.rar (1.17 KB, 下载次数: 76)
深圳小明 回答时间:2017-2-15 13:59:25
wenyangzeng 发表于 2017-2-15 10:28
这个文件可供你参考:

谢谢!虽然我已经用FSMC驱动好了。还是非常感谢。
zbber 回答时间:2017-2-15 14:30:10
可以专门设一个图形驱动板块
colinh 回答时间:2017-2-24 15:14:26
深圳小明 发表于 2017-2-15 13:59
谢谢!虽然我已经用FSMC驱动好了。还是非常感谢。

朋友你好,我最近也在调试RA8835的屏,用的也是FSMC模式,FSMC的时序用示波器看似乎没问题,就是不能显示,可以交流一下吗?
123下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版