我试图了解如何在定制 PCB 上将 TFT 屏幕模块与 STM32F4 芯片连接起来。 这是模块及其基本信息。
为了将命令和数据写入屏幕,屏幕模块上的 ILI9481 驱动程序使用显示总线接口 (DBI),其中数据通过数据线发送 8 位或 16 位。
查看库示例,我明白(如果我错了,请纠正我),为了发送一个字节的命令,它只是根据命令将芯片的数字引脚设置为高电平或低电平。例如,8 位通信中的命令 0x2 将是 00000010,其中 0 将是芯片 GPIO 引脚上的数字低电平,1 将是数字高电平,这意味着 8 条线中的 1 条处于活动状态(逻辑高)。我希望,我理解正确。
现在,当我查看示例时,通常这些数字引脚位于同一个 GPIO 端口上。如果我理解正确的话,GPIO 端口有一个寄存器,称为 BSRR,您可以在其中操作 GPIO 端口引脚的逻辑电平。如果数据引脚都在同一个 GPIO 端口上,我认为这会起作用(从示例中,其中 c 是命令字节):
void STM32_TFT_8bit::write8(uint8_t c) {
// BRR or BSRR avoid read, mask write cycle time
// BSRR is 32 bits wide. 1's in the most significant 16 bits signify pins to reset (clear)
// 1's in least significant …Run Code Online (Sandbox Code Playgroud)