本采用工程及相关参考文档,下载链接如下:
NB6L295MSTM32GD32IO模拟驱动设计,内含有软件工程代码,实际项目中使用,有参考原理图和实际使用说明资源-CSDN文库
硬件设计
MCU采用GD32,GD32基本上和STM32一样,针对NBL295M的时序操作是完全相同的.软、硬件设计已经再产品设计中实际使用。
原理图设计如下

与MCU管脚连接如下表所示
| MCU管脚 | NBL295M管脚 | 备注 |
| PH11 | EN_N_PIN | |
| PH10 | SLOAD_PIN | |
| PE4 | SDIN_PIN | |
| PE5 | RESET | |
| PI4 | SCLK | |
| PI5 | SYNC | |
| PI6 | SDI | |
| PI7 | LDAC |
软件设计
软件代码采用两级级联的方式

操作时序图如下

部分参考代码
//输出信号
#define EN_DELAY1_IDA_L {GPIO_BC(GPIOH) = EN_DELAY1_IDA_PIN;}
#define SLOAD_DELAY1_IDA_L {GPIO_BC(GPIOH) = SLOAD_DELAY1_IDA_PIN;}
#define EN_DELAY1_IDA_H {GPIO_BOP(GPIOH) = EN_DELAY1_IDA_PIN;}
#define SLOAD_DELAY1_IDA_H {GPIO_BOP(GPIOH) = SLOAD_DELAY1_IDA_PIN;}
#define EN_DELAY2_IDA_L {GPIO_BC(GPIOE) = EN_DELAY2_IDA_PIN;}
#define SLOAD_DELAY2_IDA_L {GPIO_BC(GPIOE) = SLOAD_DELAY2_IDA_PIN;}
#define EN_DELAY2_IDA_H {GPIO_BOP(GPIOE) = EN_DELAY2_IDA_PIN;}
#define SLOAD_DELAY2_IDA_H {GPIO_BOP(GPIOE) = SLOAD_DELAY2_IDA_PIN;}
#define EN_DELAY1_PDA_L {GPIO_BC(GPIOD) = EN_DELAY1_PDA_PIN;}
#define SLOAD_DELAY1_PDA_L {GPIO_BC(GPIOI) = SLOAD_DELAY1_PDA_PIN;}
#define EN_DELAY1_PDA_H {GPIO_BOP(GPIOD) = EN_DELAY1_PDA_PIN;}
#define SLOAD_DELAY1_PDA_H {GPIO_BOP(GPIOI) = SLOAD_DELAY1_PDA_PIN;}
#define EN_DELAY2_PDA_L {GPIO_BC(GPIOI) = EN_DELAY2_PDA_PIN;}
#define SLOAD_DELAY2_PDA_L {GPIO_BC(GPIOI) = SLOAD_DELAY2_PDA_PIN;}
#define EN_DELAY2_PDA_H {GPIO_BOP(GPIOI) = EN_DELAY2_PDA_PIN;}
#define SLOAD_DELAY2_PDA_H {GPIO_BOP(GPIOI) = SLOAD_DELAY2_PDA_PIN;}
#define SDIN_DELAY_L {GPIO_BC(GPIOE) = SDIN_DELAY_PIN;}
#define SCLK_DELAY_L {GPIO_BC(GPIOE) = SCLK_DELAY_PIN;}
#define SDIN_DELAY_H {GPIO_BOP(GPIOE) = SDIN_DELAY_PIN;}
#define SCLK_DELAY_H {GPIO_BOP(GPIOE) = SCLK_DELAY_PIN;}
uint16_t ida_delay1 = 0; //总时延
uint16_t ida_delay1_p0 = 0; //一级时延
uint16_t ida_delay1_p1 = 0; //二级时延
本采用工程及相关参考文档,下载链接如下:
NB6L295MSTM32GD32IO模拟驱动设计,内含有软件工程代码,实际项目中使用,有参考原理图和实际使用说明资源-CSDN文库







![uni-app开发微信小程序的报错[渲染层错误]排查及解决](https://img-blog.csdnimg.cn/e25d1be8ff3f45fe933fca768fa4a963.png#pic_center)









