SF32LB52—个人毕设笔记—添加Borad及修改PinMux(1)

1.在SiFli-SDK中创建Borad

请参考SiFli Wiki,链接https://docs.sifli.com/projects/sdk/latest/sf32lb52x/app_development/create_board.html

2.修改自己Borad中的PinMux

以下为本人设计板子所使用的IO

(1)bsp_lcd_tp.c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

#include "bsp_board.h"

#define LCD_RESET_PIN (0) //LCD复位
#define TP_RESET (41) //TP复位
#define LCD_VADD_EN (1) //LCD电源
#define LCD_POWER_EN (9) //LCD开关

/***************************LCD ***********************************/
extern void BSP_PIN_LCD(void);
void BSP_LCD_Reset(uint8_t high1_low0)
{
BSP_GPIO_Set(LCD_RESET_PIN, high1_low0, 1);
}

void BSP_LCD_PowerDown(void)
{
// TODO: LCD power down
BSP_GPIO_Set(LCD_RESET_PIN, 0, 1);
BSP_GPIO_Set(LCD_VADD_EN, 0, 1); // POwer down VADD EN
}

void BSP_LCD_PowerUp(void)
{
// TODO: LCD power up
HAL_Delay_us(500); // lcd power on finish ,need 500us
BSP_PIN_LCD();
BSP_GPIO_Set(LCD_VADD_EN, 1, 1); // POwer up VADD EN
}

void BSP_LCD_PowerOff(void)
{
BSP_GPIO_Set(LCD_POWER_EN, 0, 1);
}

void BSP_LCD_PowerOn(void)
{
BSP_GPIO_Set(LCD_POWER_EN, 1, 1);
}

/***************************Touch ***********************************/

extern void BSP_PIN_Touch(void);
void BSP_TP_PowerUp(void)
{
// TODO: Setup TP power up pin
BSP_PIN_Touch();
BSP_GPIO_Set(TP_RESET, 1, 1);
}

void BSP_TP_PowerDown(void)
{
// TODO: Setup TP power down pin
BSP_GPIO_Set(TP_RESET, 0, 1);
}
void BSP_TP_Reset(uint8_t high1_low0)
{
BSP_GPIO_Set(TP_RESET, high1_low0, 1);
}


(2)bsp_pinmux.c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// LCD_RESETB
HAL_PIN_Set(PAD_PA00, GPIO_A0, PIN_PULLDOWN, 1);

// AUDIO_PA_CTRL
// HAL_PIN_Set(PAD_PA10, GPIO_A10, PIN_PULLDOWN, 1);

// UART1 - debug
HAL_PIN_Set(PAD_PA18, USART1_RXD, PIN_PULLUP, 1);
HAL_PIN_Set(PAD_PA19, USART1_TXD, PIN_PULLUP, 1);

// SPI1 - TFcard
HAL_PIN_Set(PAD_PA24, SPI1_DI, PIN_PULLDOWN, 1);
HAL_PIN_Set(PAD_PA25, SPI1_CLK, PIN_NOPULL, 1);
HAL_PIN_Set(PAD_PA27, SPI1_DIO, PIN_NOPULL, 1);
HAL_PIN_Set(PAD_PA28, SPI1_CS, PIN_NOPULL, 1);

// #XTAL32K_XI
// HAL_PIN_Set(PAD_PA22, GPIO_A22, PIN_NOPULL, 1);
// #XTAL32K_XO
// HAL_PIN_Set(PAD_PA23, GPIO_A23, PIN_NOPULL, 1);

// I2C2 - Sensor
HAL_PIN_Set(PAD_PA31, I2C2_SDA, PIN_PULLUP, 1);
HAL_PIN_Set(PAD_PA32, I2C2_SCL, PIN_PULLUP, 1);

// Key1 - Power key
/* Keep default pull-down unchanged. Uart download driver would use this
* function, if pulldown is disabled, download driver would not work on the
* board without external pull-down
*/
HAL_PIN_Set(PAD_PA34, GPIO_A34, PIN_NOPULL, 1);
// Key2
HAL_PIN_Set(PAD_PA26, GPIO_A11, PIN_NOPULL, 1);

// USBD
HAL_PIN_Set_Analog(PAD_PA35, 1); // USB_DP
HAL_PIN_Set_Analog(PAD_PA36, 1); // USB_DM

#if defined(BSP_USING_PWM3) || defined(BSP_USING_RGBLED_WITCH_PWM3)
HAL_PIN_Set(PAD_PA32, GPTIM2_CH1, PIN_PULLUP, 1); // RGB LED
#endif
// GPIOs

(3)修改触摸中断引脚

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
config ASIC
bool
default y

config TOUCH_IRQ_PIN
int
default 42

config LCD_PWM_BACKLIGHT_INTERFACE_NAME
string
default "pwm2"

config LCD_PWM_BACKLIGHT_CHANEL_NUM
int
default 4

config LCD_BACKLIGHT_CONTROL_PIN
int
default 1