完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void Busy_Wait(void) //检测液晶忙状态
{ Reset_RS(); //rs=0 Set_RW(); //rw=1 建立高低电平需要延时吗?多久 Set_E(); //en=1 delay_ms(1); //延时1ms 72Mhz while(PCout(11) == 1) //检测数据口D7,判断忙状态 需要检测数据吗?还是直接延时就可以,原理图里的是5V是3.3V工作? { Reset_E(); //en=0 delay_ms(1); Set_E(); //en=1 重复使能失能使得D7口为0,不忙(感觉这个不一定需要,试了也不行) delay_ms(1); } delay_ms(5); Reset_E(); //en=0 } void Write_Cmd(uint8_t Cmd) //写指令 { Busy_Wait(); //判断液晶忙状态 Reset_RS(); Reset_RW(); Reset_E(); // //下面是数据口的配置,这个数据口配置该怎么写?我写的是类似ODR(BRR)形式 // GPIO_WriteBit(GPIOC,GPIO_Pin_11,(BitAction)((Cmd&0x80)>>7));//D7 // GPIO_WriteBit(GPIOC,GPIO_Pin_12,(BitAction)((Cmd&0x40)>>6)); //D6 // GPIO_WriteBit(GPIOD,GPIO_Pin_2,(BitAction)((Cmd&0x20)>>5)); //D5 //GPIO_WriteBit(GPIOB,GPIO_Pin_3,(BitAction)((Cmd&0x10)>>4)); //D4 //GPIO_WriteBit(GPIOB,GPIO_Pin_4,(BitAction)((Cmd&0x08)>>3)); //D3 //GPIO_WriteBit(GPIOB,GPIO_Pin_5,(BitAction)((Cmd&0x04)>>2)); //D2 //GPIO_WriteBit(GPIOB,GPIO_Pin_6,(BitAction)((Cmd&0x02)>>1)); //D1 //GPIO_WriteBit(GPIOB,GPIO_Pin_7,(BitAction)((Cmd&0x01))); //D0 Set_E(); delay_ms(1); // 高脉冲 该延时多久,1ms够不?还是多了? Reset_E(); // }
|
|
相关推荐
1个回答
|
|
在程序 上慢慢调整
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1129 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1075 浏览 2 评论
2175 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1269 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1693 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 07:31 , Processed in 0.514764 second(s), Total 43, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号