请教下大家,上电后延时5S(防swim脚锁死),再把SWIM脚设成输出脚,让它能输出高低电平。但实测,这脚一直是高电平。是否我下面的设置,不足以让SWIM脚成功设成输出? /* 定义TXenable IO PORT与PIN SWIM */ #define TXenable_GPIO_PORT (GPIOD) #define TXenable_GPIO_PINS (GPIO_PIN_5) void SWIMset_IO(void) { /* 配置TXenable IO 为输出模式 */ GPIO_Init(TXenable_GPIO_PORT, (GPIO_Pin_TypeDef)TXenable_GPIO_PINS, GPIO_MODE_OUT_PP_HIGH_SLOW);//上电时不发射 } /** * @函数名 AutoCHK * @功 能 * @参 数 无 * @返回值 无 */ void AutoCHK(void) { GPIO_WriteLow(TXenable_GPIO_PORT,(GPIO_Pin_TypeDef)TXenable_GPIO_PINS); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); GPIO_WriteHigh(TXenable_GPIO_PORT,(GPIO_Pin_TypeDef)TXenable_GPIO_PINS); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); GPIO_WriteLow(TXenable_GPIO_PORT,(GPIO_Pin_TypeDef)TXenable_GPIO_PINS); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); GPIO_WriteHigh(TXenable_GPIO_PORT,(GPIO_Pin_TypeDef)TXenable_GPIO_PINS); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); } void main(void) { IoSetUp_Init(); /* LED初始化 */ LED_Init(); GPIO_WriteLow(LED_GPIO_PORT,LED_GPIO_PINS); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); GPIO_WriteHigh(LED_GPIO_PORT,LED_GPIO_PINS); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); Delay(0xFFFF); if(!GPIO_ReadInputPin(OUTPUTselect_GPIO_PORT, (GPIO_Pin_TypeDef)OUTPUTselect_GPIO_PINS)) OUTPUTmode=RESET;//RESET:有物高 else OUTPUTmode=SET; // SET: if ((GPIO_ReadInputData(EXTI_GPIO_PORT) & EXTI_GPIO_PINS) == 0x00)//无物 { GPIO_WriteHigh(LED_GPIO_PORT, LED_GPIO_PINS); if(OUTPUTmode==RESET) GPIO_WriteLow(OUTPUT_GPIO_PORT,OUTPUT_GPIO_PINS); else GPIO_WriteHigh(OUTPUT_GPIO_PORT,OUTPUT_GPIO_PINS); } else //有物 { GPIO_WriteLow(LED_GPIO_PORT, LED_GPIO_PINS); if(OUTPUTmode==RESET) GPIO_WriteHigh(OUTPUT_GPIO_PORT,OUTPUT_GPIO_PINS); else GPIO_WriteLow(OUTPUT_GPIO_PORT,OUTPUT_GPIO_PINS); } /* 外部中断初始化 */ EXTI_Init(); /* 使能总中断 */ enableInterrupts(); SWIMset_IO(); AutoCHK(); while (1) { ; } } |
STM8S003F3U6 请求各位大佬支援,但是遇到如下问题。。。这样就一定是这颗芯片的问题吗?
STVD如何生成库文件
STM8 flash 库函数 startaddress = startaddress + ((uint32_t)BlockNum * FLASH_BLOCK_S
stm 8 flash 在RAM运行代码的问题,是不是库函数有问题 Library call (?sll32_l0_l0_a) from within a
STM 有能替代MCHC912B32CFUE8 / NXP的型号吗?
STM8S的CAN总线使用
STM8L151在使用DAC功能后严重发热
STM8 IIC SLAVE 400K
STM8S 定时器1互补输出pwm
STM8S003F3 NRST电压低,无法开机
评分
查看全部评分