野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10466|回复: 1

关于mini板GPIO输出的问题

[复制链接]
发表于 2018-7-11 16:37:53 | 显示全部楼层 |阅读模式
初学STM32,买了块MINI板想试着驱动下1602液晶屏,写了个小程序改了半天,一直没有找到问题所在,
硬件除了GND和5V,RS接的C7,RW接的C5,E接的C6,数据线接的B0-B7,用了很多方法改程序,还是不行,
后来用万用表量了下,GPIOC 5 6 7不能按照代码中预期的输出高电平,GPIOB也无法正常控制输出,请问
各位高手,我问问题出在哪呢?
代码:
#include "stm32f10x.h"
typedef volatile  unsigned char  uint8;
typedef volatile  unsigned int   uint16;
typedef volatile  unsigned long  uint32;
#define     LCD1602_RS0      GPIOC->BRR  = 0x00000040;
#define     LCD1602_RW0      GPIOC->BRR  = 0x00000010;
#define     LCD1602_EN0      GPIOC->BRR  = 0x00000020;
#define     LCD1602_RS1      GPIOC->BSRR = 0x00000040;
#define     LCD1602_RW1      GPIOC->BSRR = 0x00000010;
#define     LCD1602_EN1      GPIOC->BSRR = 0x00000020;
void Delay_us(uint32 Count)
{
signed char i;
while(Count--)
{
i = 10;
while(i--);
}
}
//写指令
void Write_LCD1602_Com(unsigned char Com)
{
LCD1602_RS0;
LCD1602_RW0;
LCD1602_EN0;
GPIOB->ODR = Com;
LCD1602_EN1;
Delay_us(340);
LCD1602_EN0;
}
//写数据
void Write_LCD1602_Data(unsigned char Data)
{
LCD1602_RS1;
LCD1602_RW0;
LCD1602_EN0;
GPIOB->ODR = Data;
LCD1602_EN1;
Delay_us(340);
LCD1602_EN0;
}
//重置液晶屏
void DISInit(void)
{
Write_LCD1602_Com(0x38);
Delay_us(6);

Write_LCD1602_Com(0x0C);
Delay_us(6);

Write_LCD1602_Com(0x06);
Delay_us(6);

Write_LCD1602_Com(0x01);
Delay_us(6);
}
int main(void)
{
*(unsigned int *)0X40021018 =0x0C; //配置GPIOB/C时钟
GPIOC->CRL  |=((1<<(4*7))+(1<<(4*6))+(1<<(4*5)));
GPIOB->CRL |=((1<<(4*7))+(1<<(4*6))+(1<<(4*5))+(1<<(4*4))+(1<<(4*3))+(1<<(4*2))+(1<<(4*1))+(1<<(4*0)));
DISInit();
GPIOC->ODR  &=~(1<<8);
GPIOB->ODR = 0x60;
while(1)
{
  
  Write_LCD1602_Com(0x80+2); //写地址
  Write_LCD1602_Data('A'); //液晶显示A
  Write_LCD1602_Com(0x80+3);
  Write_LCD1602_Data('A');
  Delay_us(340);
  
  Write_LCD1602_Com(0x80+4);
  Write_LCD1602_Data('A');
  Delay_us(340);
  
  Write_LCD1602_Com(0x80+5);
  Write_LCD1602_Data('A');
}
}

谢谢

回复

使用道具 举报

发表于 2018-7-11 16:45:21 | 显示全部楼层
GPIOB部分引脚是JTAG引脚,使用的时候比较特殊,初始化的时候参考我们的液晶例程,要禁止这些引脚的JTAG功能
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-27 07:46 , Processed in 0.035840 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表