求各位大佬指导一下,延时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条回答
nashui_sx
1楼-- · 2019-07-21 03:51
 精彩回答 2  元偷偷看……
自由逐风者
2楼-- · 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这个库函数不能这样用吗?
nashui_sx
3楼-- · 2019-07-21 09:11
本帖最后由 nashui_sx 于 2019-4-5 12:51 编辑
自由逐风者 发表于 2019-4-5 10:28
[mw_shl_code=c,true]void LCD1602_Wait_Ready(void)
{
        u8 sta = 0;

都可以,你不会用而已,百度学习学习吧,一两句说不明白
自由逐风者
4楼-- · 2019-07-21 12:03
nashui_sx 发表于 2019-4-5 12:46
都可以,你不会用而已,百度学习学习吧,一两句说不明白

好的,谢谢您

一周热门 更多>