58 lines
1.5 KiB
C
58 lines
1.5 KiB
C
#include "board.h"
|
|
|
|
uart_t *uart = NULL;
|
|
|
|
static void uart_rx_cb(uint8_t uart_index, uint8_t *data, uint16_t len)
|
|
{
|
|
}
|
|
|
|
static void uart_init(void)
|
|
{
|
|
if (uart == NULL)
|
|
{
|
|
uart = uart_create(USART1, TRUE, UART_RXSIZE, uart_rx_cb, TRUE, UART_TXSIZE, NULL);
|
|
uart->uart_index = 0;
|
|
uart->dma = DMA1;
|
|
uart->dma_rx_channel = LL_DMA_CHANNEL_5;
|
|
uart->dma_tx_channel = LL_DMA_CHANNEL_4;
|
|
uart_recv_en(uart, FALSE);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @brief 通过UART发送数据
|
|
*
|
|
* 该函数通过UART接口发送指定长度的数据。
|
|
*
|
|
* @param data 指向要发送数据的指针
|
|
* @param len 要发送的数据长度
|
|
*/
|
|
void uart_send(uint8_t *data, uint16_t len)
|
|
{
|
|
uart_send_data(uart, data, len);
|
|
}
|
|
|
|
/**
|
|
* @brief 初始化显示板
|
|
*
|
|
*/
|
|
void board_init(void)
|
|
{
|
|
uart_init();
|
|
ssd1306_init();
|
|
|
|
{
|
|
spi_gpio_group_t gpios;
|
|
gpios.cs = gpio_create(TMC2240_CS_GPIO_Port, TMC2240_CS_Pin);
|
|
gpios.mosi = gpio_create(TMC2240_MOSI_GPIO_Port, TMC2240_MOSI_Pin);
|
|
gpios.sck = gpio_create(TMC2240_SCK_GPIO_Port, TMC2240_SCK_Pin);
|
|
gpios.miso = gpio_create(TMC2240_MISO_GPIO_Port, TMC2240_MISO_Pin);
|
|
gpios.rst = gpio_create(NULL, 0);
|
|
gpios.rdy = gpio_create(NULL, 0);
|
|
tmc2240_init(TMC2240_1, SPI1, TIM3, LL_TIM_CHANNEL_CH3, &gpios);
|
|
tmc2240_get(TMC2240_1)->en = gpio_create(TMC2240_EN_GPIO_Port, TMC2240_EN_Pin);
|
|
tmc2240_get(TMC2240_1)->dir = gpio_create(TMC2240_DIR_GPIO_Port, TMC2240_DIR_Pin);
|
|
tmc2240_get(TMC2240_1)->params.enable = TRUE;
|
|
}
|
|
}
|