[STM32F3]

12864液晶用STM32驱动成功 附程序

[复制链接]
3905|25
手机看帖
扫描二维码
随时随地手机跟帖
qiangweii|  楼主 | 2016-8-18 20:24 | 显示全部楼层 |阅读模式
试了两天终于成功了。

我写的这个程序,如果大家要参考移植的话,12864.c这个文件一个字也不用动,所有需要移植的部分我全部写到12864.h文件来了。方便大家查看。

这两天发现几个问题特别需要注意一下。

一。要开启功能复用IO口时钟,我用的是PB口。STM32F10x系列的MCU复位后,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。所以要关闭 JTAG


二。写液晶指令或者数据的时候要注意,出错的话也是不能显示的。我用宏定义来写。
#define  LCD_WriteData(x)     {LCD12864_GPIO->BSRR = x<<8 & 0xff00;LCD12864_GPIO->BRR = ((~x)<<8) & 0xff00;}
//高8位的数据


三。PB2是BOOT1,这个脚不要用,不然USB线下载不进去。


四。因为液晶要检测忙状态,所以控制的5个引脚我设置成推挽输出模式,但是8个数据引脚PB8~PB15我设置成开漏输出模式。在开漏模式状态下,对输入寄存器的读访问可获得I/O端口状态。PB15为忙状态检测位。


耐心做。没做出来的话之前的付出都白费了。

DIS12864.zip

305.42 KB

bbapple| | 2016-8-18 20:29 | 显示全部楼层
//开始写GRAM
void LCD_WriteRAM_Prepare(void)
{
        LCD_WR_REG(R34);
}

使用特权

评论回复
handleMessage| | 2016-8-18 20:32 | 显示全部楼层
//LCD写GRAM
void LCD_WriteRAM(u16 RGB_Code)
{                                                            
        LCD_WR_DATA(RGB_Code);//写十六位GRAM
}

使用特权

评论回复
zhouhuanの| | 2016-8-18 20:35 | 显示全部楼层

好东西,收藏了谢谢楼主

使用特权

评论回复
wanglaojii| | 2016-8-18 20:38 | 显示全部楼层
感谢分享,之前用arduino驱动,现在学STM32。

使用特权

评论回复
laozhongyi| | 2016-8-18 20:41 | 显示全部楼层
看来51想学stm32,困难重重啊!!

使用特权

评论回复
Edisons| | 2016-8-18 20:42 | 显示全部楼层
请问8个数据引脚PB8~PB15设置成开漏输出模式,那么你电路设计上是不是要把PB8~PB15接上拉电阻?

使用特权

评论回复
mmuuss586| | 2016-8-18 22:57 | 显示全部楼层
谢谢分享;

使用特权

评论回复
Brand2| | 2016-8-19 11:14 | 显示全部楼层
LCD_WR_REG(R34);

这是什么意思

使用特权

评论回复
querli_wjh| | 2016-8-20 15:51 | 显示全部楼层
谢谢分享;

使用特权

评论回复
joketinnle| | 2016-8-20 23:26 | 显示全部楼层
还是直接用寄存器写程序,看的舒服

使用特权

评论回复
楼主,请问怎么改字体和送变量

使用特权

评论回复
国际通缉饭| | 2017-9-6 17:42 | 显示全部楼层
laozhongyi 发表于 2016-8-18 20:41
看来51想学stm32,困难重重啊!!

你好,请问一下arduino的12864 st7565的驱动怎么写,我写了四五天了显示屏都没有显示字符不知道问题出在哪里

使用特权

评论回复
glxmf| | 2017-11-3 15:35 | 显示全部楼层
非常不错,测试成功,感谢开源

使用特权

评论回复
坤尐| | 2017-12-10 15:04 | 显示全部楼层
感谢楼主开源

使用特权

评论回复
小菜鸟16| | 2017-12-18 16:10 | 显示全部楼层
好东西

使用特权

评论回复
ohy3686| | 2017-12-18 17:44 | 显示全部楼层
laozhongyi 发表于 2016-8-18 20:41
看来51想学stm32,困难重重啊!!

先学STM8。

使用特权

评论回复
cpu51| | 2018-12-26 17:35 | 显示全部楼层
PB2-----BOOT1,我接一个10K到地,这样的话,正常写程序能进去吗?用LCD12864的话。有影响吗?

使用特权

评论回复
cpu51| | 2018-12-26 17:37 | 显示全部楼层
PB2-----BOOT1,我接一个10K到地,这样的话,正常写程序能进去吗?用LCD12864的话。有影响吗?

使用特权

评论回复
cpu51| | 2018-12-26 17:38 | 显示全部楼层
PB2-----BOOT1,我接一个10K到地,这样的话,正常写程序能进去吗?用LCD12864的话。有影响吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

1521

帖子

3

粉丝