while(1){ temp = GPIOA->IDR>>8;GPIOA->ODR = temp;}
端口输入数据寄存器GPIOx_IDR(低16位有效)并行读入16位数据 端口输出数据寄存器GPIOx_ODR(低16位有效)并行输出16位数据 端口位设置/清除寄存器GPIOx_BSRR:拉高拉低相应引脚,1bit对应1引脚 端口位清除寄存器GPIOx_BRR(低16位有效):拉低相应引脚,同上 端口配置锁存寄存器GPIOx_LCKR(17位有效)x...
这两个寄存器都是 GPIO口配置寄存器,不过 CRL控制端口的低八位(Px0-Px7的IO口),CRH控制端口的高八位(Px8-Px15的IO口)。 A8种工作模式对应的配置 2个配置寄存器就是用来配置 GPIO的相关工作模式和工作速度,它们通过不同的配置组合方法,就决定我们所说的 8种工作模式。 输入上拉/下拉电阻通过ODR寄存器来设置 ...
GPIOC->CRH|=0X00038000; //PC11输入,PC12输出 GPIOC->ODR=1<<11;//PC11上拉 通过这3句话的配置,我们就设置了PC11为上拉输入,PC12为推挽输出
代码如下:\x0d\x0a\x0d\x0aGPIOA->CRH&=0XFFFFFFF0; \x0d\x0a\x0d\x0a GPIOA->CRH|=0X00000003;//PA8 推挽输出 \x0d\x0a\x0d\x0a GPIOA->ODR|=1CRH&=0XFFF00FFF;//清掉这2个位原来的设置,同时也不影响其他位的设置\x0d\x0a\x0d\x0a GPIOC->CRH...
1. 利⽤外部电路的驱动能⼒,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。2. ⼀般来说,开漏是⽤来连接不同电平的器件,匹配电平⽤的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出⾼...
2.2.8 推挽复用输出模式 2.3 注意事项 2.4 GPIO端口复用 2.5 GPIO端口重映射 3.GPIO相关寄存器 3.1 端口配置低寄存器(GPIOx_CRL ) 3.2 端口配置高寄存器(GPIOx_CRH ) 3.3 端口输入数据寄存器(GPIO_IDR) 3.4 端口输出数据寄存器(GPIO_ODR) 3.5 端口位设置/清除寄存器(GPIO_BSRR) ...
最后再做一个测试,把上述翻转GPIO的代码做一点修改,上述用了BSRR、BRR寄存器来实现置位和清零,如果使用ODR寄存器会有什么效果呢? 可以看到,翻转速率直接只有4Mhz。 通过汇编代码可以看到,多了一条MOVS指令,该指令需要1个指令周期,所有最高翻转速率为24Mhz/(3+3)=4M...
STM8教程-第七章-STM8S207-GPIO模块及其应用 D GPIO 模块框图 7.2 IO 口的配置和使用 每一个端口都有一个输出数据寄存器 (ODR),一个引脚输入寄存器 (IDR)和一个数据方向寄存器 (DDR)。 控制寄存器 1(CR1)和控制寄存器 2(CR2)用于对输入/输出进行配置。任何一个 I/O 引脚可以通过对 DDR、CR1 和 CR2 ...
GPIOA->CRH|=0X00000003;//PA8 推挽输出 GPIOA->ODR|=1<<8;//PA8 输出高 再如:GPIOC->CRH&=0XFFF00FFF;//清掉这2个位原来的设置,同时也不影响其他位的设置 GPIOC->CRH|=0X00038000; //PC11输入,PC12输出 GPIOC->ODR=1<<11;//PC11上拉 通过这3句话的配置,我们就设置了PC...