嵌入式系统/输入与输出(I/O)
< 嵌入式系统
在嵌入式系统中,大部分输入端与输出端都是逻辑电平管脚(端口),而输入操作是读取某个管脚的逻辑值,输出操作是向这个管脚写入逻辑值。此外,单片机也会将某个管脚上的电平变化作为输入,而这类输入会被作为中断处理。I/O管脚会被打包成为管脚埠,统一管理。
部分单片机提供了内嵌A/D转换器,可以接收外部的模拟信号。
单片机读取到数据后,会利用嵌入的解码器来解码UART、IIC、SPI、CAN等现场总线的内容。
定位管脚
编辑就像寄存器一样,管脚也被映射到了某一个地址上,在C语言里读写管脚就是向相应的内存地址赋值。
sfr P1 = 0x90; //P1接口埠的地址
sbit P1_3 = P1^3; //因 P1 端口的寄存器是可位寻址的,所以能定义P1_1 为 P1接口埠中的3引脚
P1 = 0x8; //将P1的4管脚设为1,其他管脚设为0
P1_3 = 1
初始化管脚
编辑在STM单片机中,如果使用某个管脚作为I/O管脚,就需要在使用管脚之前,指定这一管脚的用法:
- 用作输入还是输出(INPUT OUTPUT)
- 有无上拉电阻或下拉电阻(PULLUP PULLDOWN)
- 速度为多少
- 如果这一管脚是输入管脚,应该启用对应管脚埠的时钟。