你好,
我正在与DA14683 Development Kit中的液晶显示和生物传感器ST7735进行通信。
既ST7735和生物传感器是SPI总线协议。我想在SPI 1套ST7735的SPI 2和生物传感器。
我对SPI1测试ST7735,这是工作。
但是,我从SPI 1至SPI2修改st7735,CSN引脚工作,但时钟和MOSI引脚不输出信号。
Measurment结果作为附加文件。
是否有任何参数或api需要设置?
// *************修改st7735从SPI 1至SPI2
SPI_BUS(SPI1)
#ifdef来CONFIG_SPI_DISPLAY
// SPI_SLAVE_DEVICE(SPI1,DISPLAY_SPI,HW_GPIO_PORT_DISPLAY_SPI_CSN,HW_GPIO_PIN_DISPLAY_SPI_CSN,HW_SPI_WORD_8BIT,HW_SPI_POL_LOW,HW_SPI_PHA_MODE_0,HW_SPI_FREQ_DIV_2,HW_DMA_CHANNEL_0);
#万一
SPI_BUS_END
SPI_BUS(SPI2)
#ifdef来CONFIG_SPI_DISPLAY
SPI_SLAVE_DEVICE(SPI2,DISPLAY_SPI,HW_GPIO_PORT_DISPLAY_SPI_CSN,HW_GPIO_PIN_DISPLAY_SPI_CSN,HW_SPI_WORD_8BIT,HW_SPI_POL_LOW,HW_SPI_PHA_MODE_0,HW_SPI_FREQ_DIV_2,HW_DMA_CHANNEL_6);
#万一
SPI_BUS_END
谢谢
kuda.
设备:
嗨库地,
能否请你分享periph_init()funcrion的GPIO配置?
谢谢,PM_DIALOG.
你好!
附加的文件是我的项目, - > ble_peripheral与SPI功能测试。
谢谢大家。
kuda.
#定义HW_GPIO_PORT_UART2_TX HW_GPIO_PORT_1
#定义HW_GPIO_PIN_UART2_TX HW_GPIO_PIN_3
#定义HW_GPIO_PORT_UART2_RX HW_GPIO_PORT_2
#定义HW_GPIO_PIN_UART2_RX HW_GPIO_PIN_3
#定义HW_GPIO_PORT_DISPLAY_SPI_CLK HW_GPIO_PORT_3
#定义HW_GPIO_PIN_DISPLAY_SPI_CLK HW_GPIO_PIN_1
#定义HW_GPIO_PORT_DISPLAY_SPI_DI HW_GPIO_PORT_2
#定义HW_GPIO_PIN_DISPLAY_SPI_DI HW_GPIO_PIN_2
#定义HW_GPIO_PORT_DISPLAY_SPI_DO HW_GPIO_PORT_1
#定义HW_GPIO_PIN_DISPLAY_SPI_DO HW_GPIO_PIN_1
#定义HW_GPIO_PORT_DISPLAY_SPI_CSN HW_GPIO_PORT_3
#定义HW_GPIO_PIN_DISPLAY_SPI_CSN HW_GPIO_PIN_2
#定义HW_GPIO_PORT_DISPLAY_RESET HW_GPIO_PORT_1
#定义HW_GPIO_PIN_DISPLAY_RESET HW_GPIO_PIN_0
#定义HW_GPIO_PORT_DISPLAY_DC HW_GPIO_PORT_1
#定义HW_GPIO_PIN_DISPLAY_DC HW_GPIO_PIN_7
空白displayGpioInit(空白)
{
#ifdef来CONFIG_SPI_DISPLAY
REG_SET_BIT(CRG_PER,USBPAD_REG,USBPAD_EN);
// SPI
hw_gpio_set_pin_function(HW_GPIO_PORT_DISPLAY_SPI_CLK,HW_GPIO_PIN_DISPLAY_SPI_CLK,HW_GPIO_MODE_OUTPUT,HW_GPIO_FUNC_SPI_CLK);
hw_gpio_set_pin_function(HW_GPIO_PORT_DISPLAY_SPI_DI,HW_GPIO_PIN_DISPLAY_SPI_DI,HW_GPIO_MODE_INPUT,HW_GPIO_FUNC_SPI_DI);
hw_gpio_set_pin_function(HW_GPIO_PORT_DISPLAY_SPI_DO,HW_GPIO_PIN_DISPLAY_SPI_DO,HW_GPIO_MODE_OUTPUT,HW_GPIO_FUNC_SPI_DO);
hw_gpio_set_pin_function(HW_GPIO_PORT_DISPLAY_SPI_CSN,HW_GPIO_PIN_DISPLAY_SPI_CSN,HW_GPIO_MODE_OUTPUT,HW_GPIO_FUNC_SPI_EN);
hw_gpio_set_active(HW_GPIO_PORT_DISPLAY_SPI_CSN,HW_GPIO_PIN_DISPLAY_SPI_CSN);
//显示复位
hw_gpio_set_pin_function(HW_GPIO_PORT_DISPLAY_RESET,HW_GPIO_PIN_DISPLAY_RESET,HW_GPIO_MODE_OUTPUT,HW_GPIO_FUNC_GPIO);
hw_gpio_set_active(HW_GPIO_PORT_DISPLAY_RESET,HW_GPIO_PIN_DISPLAY_RESET);
/ /显示D / C
hw_gpio_set_pin_function(HW_GPIO_PORT_DISPLAY_DC,HW_GPIO_PIN_DISPLAY_DC,HW_GPIO_MODE_OUTPUT,HW_GPIO_FUNC_GPIO);
hw_gpio_set_active(HW_GPIO_PORT_DISPLAY_DC,HW_GPIO_PIN_DISPLAY_DC);
#万一
}
嗨库地,
如果你想改变SPI1块SPI2块,你也应该改变引脚的配置。要做到这一点,您可以配置哪些GPIO将有SPI2的哪些功能。在hw_gpio.h你会发现:
如果您使用的是SPI2块,和GPIO时conbfigured为SPI1 fyuncionality剧照,这不会工作,因为你“说话”到不同的硬件块。
你应该()相应地更改hw_gpio_set_pin_function。你也可以看看的SPI适配器概念从DA1468x产品网页教程,你会发现detaild准则使用SPI适配器。
谢谢,PM_DIALOG.