本帖最后由 coderdd 于 2021-9-8 15:31 编辑
简单的,点灯程序
参考官方GPIO例程有个GPIO配置函数,UINT8 CH559GPIOModeSelt(UINT8 Port,UINT8 Mode,UINT8 PinNum)
/*******************************************************************************
* Function Name : CH559GPIOModeSelt(UINT8 Port,UINT8 Mode,UINT8 PinNum)
* Description : 端口0、1、2、3引脚模式设置
* Input : UINT8 Port端口选择(0、1、2、3)
UINT8 Cap驱动方式选择(bPn_OC & Pn_DIR & Pn_PU)
0(000):仅输入,无上拉;
1(001):仅输入,带上拉;
2(01x):推挽输出,高低电平强驱动;
3(100):开漏输出,无上拉,支持输入;
4(110):开漏输出,无上拉,当转变输出由低到高时,仅驱动2个时钟的高电平
5(101):准双向(标准51模式),开漏输出,带上拉
6(111):准双向(标准51模式),开漏输出,带上拉,当转变输出由低到高时,仅驱动2个时钟的高电平
UINT8 PinNum(引脚选择0-7)
* Output : None
* Return : SUCCESS成功
FAIL失败
*******************************************************************************/
比如的LED灯接口是P17,所以这样写的,CH559GPIOModeSelt(1,2,7);
配置为推挽输出。但是下载程序后,灯都不亮了。
反而不用这句,用P1_DIR = 0xff; 灯闪烁正常,求解
main函数里
sbit LED0_USER = P1^7;
while(1)
{
LED0_USER=~LED0_USER;
mDelaymS(100);
}
|