战舰STM32做的万年历(有图有程序)串口2(PA2 PA3)用于调整时间

2019-07-21 08:15发布

闲话不说了,直接上图,注意,串口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;

一周热门 更多>