完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include "STM32f10x.h"
#define RS_ON GPIO_SetBits(GPIOB,GPIO_Pin_1); #define RS_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_1); #define RW_ON GPIO_SetBits(GPIOB,GPIO_Pin_5); #define RW_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_5); #define E_ON GPIO_SetBits(GPIOB,GPIO_Pin_6); #define E_OFF GPIO_ResetBits(GPIOB,GPIO_Pin_6); //#define LcdData(x) GPIOB->ODR=(GPIOB->ODR&0xff00)|(x&0x00FF); void LcdData(unsigned char Data) { GPIO_Write(GPIOB,Data<<7); } void delay(unsigned int ms) { unsigned int x,y; for(x=0;x } void LcdWcom(unsigned char WCom) { delay(100); RS_OFF; RW_OFF; LcdData(WCom);
delay(100); E_OFF; } void LcdWdata(unsigned char WData) { delay(100); RS_ON; RW_OFF; LcdData(WData); E_ON; delay(100); E_OFF; } void DisplayInit(void) { delay(100); LcdWcom(0x30); LcdWcom(0x0c); LcdWcom(0x01); } void SetCursor(unsigned char x,unsigned char y) { unsigned char i; switch(x) { case 0x00: i=0x80; break; case 0x01: i=0x90; break; case 0x02: i=0x88; break; case 0x03: i=0x98; break; default: break; } i=y+i; LcdWcom(i); } int main(void) { GPIO_InitTypeDef myStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); myStructure.GPIO_Pin=GPIO_Pin_All; myStructure.GPIO_Mode=GPIO_Mode_Out_OD; myStructure.GPIO_Speed=GPIO_Speed_50MHz; //myStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4; GPIO_Init(GPIOB,&myStructure); delay(100); DisplayInit(); delay(5); SetCursor(0,0); delay(5); LcdWdata(0x31); } |
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1020 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
996 浏览 2 评论
2102 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1202 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1621 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 22:08 , Processed in 0.651989 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号