hqw 发表于 2018-10-15 16:09:53

STM8S005K6 的PC6,PC7如何设成普通IO,来输出高低电平?

我原有的程序,功能是运行正常的。现在需要在上面增加个IO控制,选到了PC7,发现没有办法得到想要的高电平。不知问题在哪里?

我在程序里这样设置:   #define port_AUXin   GPIOC   
   #define pin_AUXin   GPIO_PIN_6   //7


    CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);//加了这句也没用
    GPIO_Init(port_AUXin,pin_AUXin,GPIO_MODE_OUT_PP_LOW_FAST);
    GPIO_WriteHigh(port_AUXin,pin_AUXin);

   发现没有办法得到想要的高电平。
   
    有人说是要外接个上来电阻,但我看了它的规格书,是有PP的输出模式的。如附图

wenyangzeng 发表于 2018-10-15 21:21:04

hqw 发表于 2018-10-15 18:51
依你之见,怎样改?

我在板子上试过,只要这样就OK:
GPIO_Init(GPIOC, GPIO_PIN_6,GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_WriteHigh(GPIOC, GPIO_PIN_6);
GPIO_WriteLow(GPIOC, GPIO_PIN_6);
GPIO_PIN_7也可以。

wenyangzeng 发表于 2018-10-15 16:46:43

CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);
这句并未打开GPIO->C 时钟

hqw 发表于 2018-10-15 18:51:34

wenyangzeng 发表于 2018-10-15 16:46
CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);
这句并未打开GPIO->C 时钟

依你之见,怎样改?

hqw 发表于 2018-10-16 14:20:05

wenyangzeng 发表于 2018-10-15 21:21
我在板子上试过,只要这样就OK:
GPIO_Init(GPIOC, GPIO_PIN_6,GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_WriteH ...

问题找到了,是后面有句
    GPIO_DeInit(port_BTLED0);port_BTLED0和PC7同一个POR,把此前脚的设置弄没了

mlsspp 发表于 2018-11-16 19:16:26

学习中。。。

asstm8 发表于 2019-1-11 09:15:17

谢谢
页: [1]
查看完整版本: STM8S005K6 的PC6,PC7如何设成普通IO,来输出高低电平?