Arduino Nano通过SPI总线与ST7735进行通信



我使用带有ST7735显示屏和CAN控制器MCP2515的Arduino Nano。通过SPI总线,我想与显示器和CAN控制器进行通信。通过CAN控制器的通信工作顺利。对于显示器,我的问题是它只显示白色屏幕。

这是我当前的设置:CAN设置为图片

我使用这种代码与CAN控制器和显示器进行通信:

#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library for ST7735
#include <SPI.h>
#include <mcp2515.h>
#define MCP2515_CS 10     // Chip Select CAN-Controller
#define TFT_CS 7          // Chip Select TFT-Display
#define TFT_RST 8         // Reset
#define TFT_DC 9     
#define TFT_MOSI 11       // Data out
#define TFT_SCLK 13       // Clock out
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
struct can_frame canMsg;
MCP2515 mcp2515(MCP2515_CS);

有人能发现虫子吗?

在Adafruit库中,输入SPI引脚的构造函数使用软件SPI(bit banged(。它与相同引脚上的CAN控制器的硬件SPI冲突。使用构造函数

Adafruit_ST7735(int8_t cs, int8_t dc, int8_t rst);

所以

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

最新更新