yanggguojing 发表于 2015-10-20 11:50:29

STM8 GPIO口是否为三态

大家好:
       请教一下大家,STM8单片机的IO口是否可实现三态:输出高电平、低电平、高阻态。

yanlinwei 发表于 2015-10-20 11:52:32

完全可以啊!

数码小叶 发表于 2015-10-20 15:49:06

没任何问题:D:D:D

你好我好大家好! 发表于 2015-10-20 17:26:07

是的                     

yanhaijian 发表于 2015-10-24 09:23:26

关键是这个高阻态。

asmhai 发表于 2017-4-7 07:00:56

早上好!

sssdd 发表于 2017-4-8 09:32:34

本帖最后由 sssdd 于 2017-4-8 09:34 编辑

上电默认是高阻态,需要配置 配置寄存器,和输入输出寄存器。
他们是:
CR1 CR2 ODR IDR DDR
范例: 请忽略注释

    //A口未使用
    GPIOA->CR1=0x07;//推挽口输出 无上拉输入 DDR同值
    GPIOA->CR2=0x00;//低速口输出 无中断输入 DDR同值
    GPIOA->DDR=0x07;//0000 0111 输入输出 0输入1输出
    GPIOA->ODR=0x00;//0000 0000 IO预设 A未使用
    //B口未使用
    GPIOB->CR1=0x30;//推挽口输出 无上拉输入 DDR同值
    GPIOB->CR2=0x00;//低速口输出 无中断输入 DDR同值 PB4 PB5为低速口
    GPIOB->DDR=0x30;//0011 0000 输入输出 0输入1输出
    GPIOB->ODR=0x00;//1111 0000 IO预设 B未使用

    GPIOC->CR1=0x78;//推挽口输出 无上拉输入 DDR同值
    GPIOC->CR2=0x00;//高速口输出 无中断输入 DDR同值
    GPIOC->DDR=0x78;//0111 1000 输入输出 0输入1输出
    GPIOC->ODR=0x00;//0000 0000 IO预设 C7:C3
   
//PD5 TX PD6 RX PD3 data
    GPIOD->CR1=0x3f;//推挽口输出 无上拉输入 DDR同值
    GPIOD->CR2=0x00;//高速口输出 无中断输入 DDR同值
    GPIOD->DDR=0x3b;//x01x 10xx 输入输出 0输入1输出
    GPIOD->ODR=0x60;//0110 0000 IO预设

拥抱时光 发表于 2017-4-27 11:51:26

完全可以的   需要不同配置不同
页: [1]
查看完整版本: STM8 GPIO口是否为三态