2019-08-14 17:21发布
夜妖壹号 发表于 2017-8-7 22:32 这是我写的用LCD1602显示电压电流及功率因数的程序,程序内容比较多,如果有耐心就慢慢看吧,相信会对你 ...
jiangyy 发表于 2017-8-8 11:53 GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|R ...
最多设置5个标签!
谢谢大神~~~
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOC, ENABLE); //使能PA,PC端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2; //LCD1602的三根控制线rs,rw,en
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //IO口速度为100MHz
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//不上下拉
GPIO_Init(GPIOC, &GPIO_InitStructure);//根据设定参数初始化GPIOC
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;//LCD1602的8跟数据线
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//不上下拉
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//IO口速度为100MHz
GPIO_Init(GPIOA, &GPIO_InitStructure);//根据设定参数初始化GPIOA
我是新手,用的是探索者开发板,我想问问帅哥们,对于PA,PC的I/O口是否需要上拉?下拉?还是不上下拉?
(1)stm32驱动1602的话,首先电源要接5V,否则字体会很模糊。
(2)stm32由于时钟频率很高,所以写操作使能时,中间必须使用延时函数。
(3)忙检测函数有问题,但我还没有发现具体是哪儿的问题,所以索性注释掉了,对正常显示没有影响。
(4)因为板子上的1602接口连接的是GPIOB的8~15端口,就必须对命令或数据进行移位。
为避免因此产生错误,我用杜邦线将D0~7接在了GPIOA的低八位。
不清楚,我也很疑惑。只知道端口复用一般需要上拉输入
一周热门 更多>