5V液晶12864已经用STM32驱动成功

2019-08-14 07:27发布

试了两天终于成功了。

我写的这个程序,如果大家要参考移植的话,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为忙状态检测位。


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







友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
46条回答
pinghaowin
1楼-- · 2019-08-16 23:09
我用了这个附件的程序,原始不动烧入到战舰板子,按照程序中h文件中链接的线。烧入后第一次有显示,但是现实的汉子都是错的,只有qq号码是对的。

然后我修改了引脚 


我用的是5V 12864 所以图中3.3V的  我都改为5V 然后RST我接的是PB12 
接线完毕 ,然后我改程序 主要是引脚配置问题 但是烧入后没有显示。不知道什么原因,我都弄了好几天了。一直卡着,都要疯了
上传一下我改的程序 其中

#define  LCD_WriteData(x)     {LCD12864_GPIO_DATA->BSRR = x<<8 & 0xff00;LCD12864_GPIO_DATA->BRR = ((~x)<<8) & 0xff00;}  //高8位的数据
//#define  LCD_WriteData(x)   {LCD12864_GPIO_DATA->BSRR = x    & 0x00ff;LCD12864_GPIO_DATA->BRR = ((~x)<<8) & 0x00ff;}  //低8位的数据
这两行 我换着用都不行。屏幕什么都没显示



lansing1648
2楼-- · 2019-08-17 04:14
 精彩回答 2  元偷偷看……
rgzdb
3楼-- · 2019-08-17 06:38
我下载进去怎么没有显示
luo421334
4楼-- · 2019-08-17 12:04
回复【楼主位】李牧林:
---------------------------------
请问下怎么显示变量,  显示不出变量呀
luo421334
5楼-- · 2019-08-17 16:57
我下到MINI板中发现是可以的,接的是5V电源,不知道芯片会不会有什么不好的影响
一般BDN
6楼-- · 2019-08-17 22:55
我按照你的接线 ,可以只是12864的背光亮,没有显示,是怎么回事呀

一周热门 更多>