专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
战舰STM32做的万年历(有图有程序)串口2(PA2 PA3)用于调整时间
2019-07-21 08:15
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
10194
43
1322
闲话不说了,直接上图,注意,串口2(PA2 PA3)用于调整时间,压缩包内有串口更新时间的工具。
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
43条回答
王军强
2019-07-23 06:15
#define RS 
Dout(7)
#define RW 
Dout(6)
#define EN 
Dout(5)
#define 
SB 
Dout(4)
//#define RES 
Aout(3)
//PC0~7,作为数据线
#define DataPort(x) {GPIOD->BSRR = x<<8 & 0xff00;GPIOD->BRR = ((~x)<<8) & 0xff00;} //高8位的数据
*****************************************************
RCC->APB2ENR|=1<<5; //先使能外设PORTD时钟
GPIOD->CRL&=0X0000FFFF; //PD4-7 上拉输出
GPIOD->CRL|=0X33330000;
GPIOD->CRH&=0X00000000; //PD8-15 上拉输出
GPIOD->CRH|=0X33333333;
GPIOD->ODR |= 0x11111111; //输出高电平
PSB = 1; //并口方式
write_com(0x30); //基本指令操作
delay_ms(5);
write_com(0x0C); //显示开,关光标
delay_ms(5);
write_com(0x01); //清除LCD的显示内容
delay_ms(5);
*****************************************************
RS=0; RW=1; EN=1;
DataPort(0xff);
GPIOD->CRH &= 0x0fffffff; //清除PC7先前的设置
GPIOD->CRH |= 0x80000000; //PC7设置成输入(默认下拉)
GPIOD->ODR |= 0x10000000; //PC7上拉
while(PDin(15)==1);
//delay_ms(2);
//while((Lcd_Bus&0x80)==0x80);
GPIOD->CRH &= 0x00000000; //清除PC0-PC7先前的配置
GPIOD->CRH |= 0x33333333; //PC0-PC7推挽输出
GPIOD->ODR |= 0x11111111; //输出高电平
DataPort(0xff);
EN=0;
加载中...
查看其它43个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
#define RW Dout(6)
#define EN Dout(5)
#define SB Dout(4)
//#define RES Aout(3)
//PC0~7,作为数据线
#define DataPort(x) {GPIOD->BSRR = x<<8 & 0xff00;GPIOD->BRR = ((~x)<<8) & 0xff00;} //高8位的数据
*****************************************************
RCC->APB2ENR|=1<<5; //先使能外设PORTD时钟
GPIOD->CRL&=0X0000FFFF; //PD4-7 上拉输出
GPIOD->CRL|=0X33330000;
GPIOD->CRH&=0X00000000; //PD8-15 上拉输出
GPIOD->CRH|=0X33333333;
GPIOD->ODR |= 0x11111111; //输出高电平
PSB = 1; //并口方式
write_com(0x30); //基本指令操作
delay_ms(5);
write_com(0x0C); //显示开,关光标
delay_ms(5);
write_com(0x01); //清除LCD的显示内容
delay_ms(5);
*****************************************************
RS=0; RW=1; EN=1;
DataPort(0xff);
GPIOD->CRH &= 0x0fffffff; //清除PC7先前的设置
GPIOD->CRH |= 0x80000000; //PC7设置成输入(默认下拉)
GPIOD->ODR |= 0x10000000; //PC7上拉
while(PDin(15)==1);
//delay_ms(2);
//while((Lcd_Bus&0x80)==0x80);
GPIOD->CRH &= 0x00000000; //清除PC0-PC7先前的配置
GPIOD->CRH |= 0x33333333; //PC0-PC7推挽输出
GPIOD->ODR |= 0x11111111; //输出高电平
DataPort(0xff);
EN=0;
一周热门 更多>