求各位大佬指导一下,延时5ms,延时时会把A10 A11两个管教拉低

2019-07-21 03:28发布

使用stm32f103c8t6单片机,有四个发光二极管。都是正极接3.3,负极接管教。现在发现A10 A11两个管教不能拉高。仿真发现延时后这两个管教会被拉低。请各位大佬帮我看一下是程序问题还是什么问题。延时函数使用的正点原子的函数。 DNLMCD9~~97)A5V5]~K4V`D.png P4%2YL25RQ@4HUP05@H9VGO.png

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
自由逐风者
2019-07-21 06:53
nashui_sx 发表于 2019-4-5 09:43
DATAOUT操作太多引脚,屏蔽高位
#define        DATAOUT(x)        GPIO_Write(GPIOA, (x&0x00ff)|(GPIO_R ...

[mw_shl_code=c,true]void LCD1602_Wait_Ready(void)
{
        u8 sta = 0;

        GPIO_WriteBit(GPIOA,GPIO_Pin_0,Bit_SET);
        GPIO_WriteBit(GPIOA,GPIO_Pin_1,Bit_SET);
        GPIO_WriteBit(GPIOA,GPIO_Pin_2,Bit_SET);
        GPIO_WriteBit(GPIOA,GPIO_Pin_3,Bit_SET);
        GPIO_WriteBit(GPIOA,GPIO_Pin_4,Bit_SET);
        GPIO_WriteBit(GPIOA,GPIO_Pin_5,Bit_SET);
        GPIO_WriteBit(GPIOA,GPIO_Pin_6,Bit_SET);
        GPIO_WriteBit(GPIOA,GPIO_Pin_7,Bit_SET);
//        DATAOUT(0xff);
        LCD_RS_Clr();
        LCD_RW_Set();
        do
        {
                LCD_EN_Set();
                delay_ms(5);        //Ñóê±5ms£¬·Ç3£ÖØòa
//                 sta = GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_7);//¶áè¡×′ì¬×Ö
                LCD_EN_Clr();
        }while(sta & 0x80);//bit7μèóú1±íê¾òo¾§ÕyÃ|£¬Öظ′¼ì2aÖ±μ½Æäμèóú0ÎaÖ1
}[/mw_shl_code]

我先前把这个宏定义使用的地方这样改了也是不行,现在用您的方法可以,是GPIO_WriteBit这个库函数不能这样用吗?

一周热门 更多>