电子WWW
获得 11 次赞
帮助过5人
用stm32串口1发数据,串口助手总是不能正确接收第一个字符,在串口初始化中加入 USART_ClearFlag(USART1 USART_FLAG_TC);这条语句依然是不能正常显示第一个字符。在做ADC(用的ADC2,PC0)采集电压用串口显示时,没加ADC转换代码时,串口数据显示正常(除了第一个字符),加入ADC转换相关的代码后,串口显示不正常,只能接收到一个字符而且还是乱码
我能用jlink给板子下程序,但是打开不同的串口调试助手工具的时候,不显示串口号或者说串口打开失败,这是什么原因?难道下载程序的驱动和串口出动不是同一个?如果不是那么Jlink该用那个串口驱动
stm32用按键控制led灯,如果k1按键产生高电平,让led1发光二极管亮,k2按键产生的是低电平,让led2发光二极管亮,理论是这样的,但是我的却是k1按下,led1不亮,k2按下,led2亮,k1,k2都按下,led1才会亮,这是为什么呢?代码应该没问题int main(void){ LED_GPIO_Config(); KEY_GPIO_Config(); GPIO_SetBits(GPIOEGPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5); while(1) { if(KEY_Scan(KEY1_GPIO_PORTKEY1_GPIO_PIN) == KEY_ON) { GPIO_ResetBits(GPIOEGPIO_Pin_4); } else if(KEY_Scan(KEY2_GPIO_PORTKEY2_GPIO_PIN) == KEY_OFF) { GPIO_ResetBits(GPIOEGPIO_Pin_2); } }}/*****KEY_Scan()函数******/uint8_t KEY_Scan(GPIO_TypeDef* GPIOxuint16_t GPIO_Pin){ if( GPIO_ReadInputDataBit(GPIOxGPIO_Pin) == KEY_ON ) { while(GPIO_ReadInputDataBit(GPIOxGPIO_Pin) == KEY_ON); return KEY_ON; } else return KEY_OFF;}换了一个GPIO检测低电平,出现的问题更多了,我都开始怀疑是板子的问题了