请各位大虾帮忙分析一下,芯片是STM32F103VET6用来驱动12864点阵液晶 硬件连接图为PB13--->LCD_RS PB14--->LCD_RW PB15--->LCD_E PC6--->LCD_CS1 PC7--->LCD_CS2 PC8--->LCD_RET PD8~PD15接到LCD_DB0~LCD_DB7 然后我用这几个GPIO驱动LED发光二极管 PB0 PB1 PC5 PD0~PD5 PD7 系统滴答中断程序为////////////////////////////系统滴答///////////////////////////////// void SysTick_Handler(void) { TimeVar++; if(TimeVar%2==0) { GPIO_SetBits(GPIOB,GPIO_Pin_0);//GPIOB->ODR = (GPIOB->ODR & 0xFFFFFFFC); //B0 B1 GPIO_SetBits(GPIOB,GPIO_Pin_1); GPIO_SetBits(GPIOC,GPIO_Pin_5);//GPIOC->ODR = (GPIOC->ODR & 0xFFFFFFDF); //C5 GPIO_SetBits(GPIOD,GPIO_Pin_0);//GPIOD->ODR = (GPIOD->ODR & 0xFFFFFF40); //D1 D2 D3 D4 D5 D7 GPIO_SetBits(GPIOD,GPIO_Pin_1); GPIO_SetBits(GPIOD,GPIO_Pin_2); GPIO_SetBits(GPIOD,GPIO_Pin_3); GPIO_SetBits(GPIOD,GPIO_Pin_4); GPIO_SetBits(GPIOD,GPIO_Pin_5); GPIO_SetBits(GPIOD,GPIO_Pin_7); // GPIOE->ODR = (GPIOE->ODR & 0x00FF); } else {GPIO_ResetBits(GPIOB,GPIO_Pin_0);//GPIOB->ODR = (GPIOB->ODR & 0xFFFFFFFC); //B0 B1 GPIO_ResetBits(GPIOB,GPIO_Pin_1); GPIO_ResetBits(GPIOC,GPIO_Pin_5);//GPIOC->ODR = (GPIOC->ODR & 0xFFFFFFDF); //C5 GPIO_ResetBits(GPIOD,GPIO_Pin_0);//GPIOD->ODR = (GPIOD->ODR & 0xFFFFFF40); //D1 D2 D3 D4 D5 D7 GPIO_ResetBits(GPIOD,GPIO_Pin_1); GPIO_ResetBits(GPIOD,GPIO_Pin_2); GPIO_ResetBits(GPIOD,GPIO_Pin_3); GPIO_ResetBits(GPIOD,GPIO_Pin_4); GPIO_ResetBits(GPIOD,GPIO_Pin_5); GPIO_ResetBits(GPIOD,GPIO_Pin_7); // GPIOE->ODR = (GPIOE->ODR | 0xFF00); } } 液晶接口初始化程序为#define di ( 1 ODR & ~cs1) | (x ? cs1 : 0); //#define LCD_CS2(x) GPIOC->ODR = (GPIOC->ODR & ~cs2) | (x ? cs2 : 0); //#define LCD_RET(x) GPIOC->ODR = (GPIOC->ODR & ~reset) | (x ? reset : 0); /* Reading DATA pins */ //#define LCD_DATA_IN //(GPIOD->IDR >> 8) /* Writing value to DATA pins */ #define LCD_DATA_OUT(x) GPIOD->ODR = (GPIOD->ODR & ~PINS_DATA) | (x CRH = (GPIOB->CRH & 0x000FFFFF) | 0x11100000; \ GPIOC->CRL = (GPIOC->CRL & 0x00FFFFFF) | 0x11000000; \ GPIOD->CRH = (GPIOD->CRH & 0x00000000) | 0x11111111; /* Setting DATA pins to input mode */ #define LCD_DATA_DIR_IN GPIOD->CRH = (GPIOD->CRH & 0x00000000) | 0x88888888; 问题是,液晶显示正常,但系统滴答中断中的LED显示有时候不正常,LED应该是亮,但却熄灭了,或应该熄灭却亮了 如果我把液晶显示程序屏蔽掉,系统滴答中断里的LED指示灯就会正常工作,请问是什么问题呢,液晶和LED我都是单独设置的GPIO口 状态啊,可为什么LCD工作还是会影响到LED工作呢??? |
【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
【官方例程】STM32F107以太网官方例程