1、引脚对应关系
2、硬件连接
值得注意的是,在XYZA四个轴中,A轴略微特殊。为了实现A轴单独驱动或者X轴双驱动等操作,拓展板上预留了两排双排排针用来切换A轴的功能,排针位置如下图蓝色方框所示。
黄色排针用来控制方向,而蓝色排针用以切换步进脉冲来源,如果想要独立控制A轴,请将跳线帽如图安置。
3、软件编写注意事项
步进电机的驱动很容易写,在下就不拿出来献丑了,这里只说一点:
由于STM32F103C8T6 LQFP48这款芯片的IO口数量少,所以每一个IO口都极为珍贵,在使用SWD的板子上,显然可以省掉JTAG中多余的三个端口JTDI、JTDO、JNTRST,所以呢,这块板子的设计者就将这三个端口引出作为IO口,但是!这几个端口要当做普通IO口使用的话需要进行重映射!而这家伙给的手册里面没有说!(咬牙切齿,还好看了数据手册心里有数,只被坑了一会儿,步进电机工作不正常就该想到的_(:з」∠)_,(其实很早之前已经被坑过一次了_(:з」∠)_))
34 | PA13 | I/O | FT | JTMS/SWDIO |
37 | PA14 | I/O | FT | JTCK/SWCLK |
38 | PA15 | I/O | FT | JTDI |
39 | PB3 | I/O | FT | JTDO |
40 | PB4 | I/O | FT | JNTRST |
重映射的代码如下:
//使能复用功能时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//JTAG 部分端口用作普通IO口,JTAG-DP 禁用 + SW-DP 使能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
1、引脚对应关系
2、硬件连接
值得注意的是,在XYZA四个轴中,A轴略微特殊。为了实现A轴单独驱动或者X轴双驱动等操作,拓展板上预留了两排双排排针用来切换A轴的功能,排针位置如下图蓝色方框所示。
黄色排针用来控制方向,而蓝色排针用以切换步进脉冲来源,如果想要独立控制A轴,请将跳线帽如图安置。
3、软件编写注意事项
步进电机的驱动很容易写,在下就不拿出来献丑了,这里只说一点:
由于STM32F103C8T6 LQFP48这款芯片的IO口数量少,所以每一个IO口都极为珍贵,在使用SWD的板子上,显然可以省掉JTAG中多余的三个端口JTDI、JTDO、JNTRST,所以呢,这块板子的设计者就将这三个端口引出作为IO口,但是!这几个端口要当做普通IO口使用的话需要进行重映射!而这家伙给的手册里面没有说!(咬牙切齿,还好看了数据手册心里有数,只被坑了一会儿,步进电机工作不正常就该想到的_(:з」∠)_,(其实很早之前已经被坑过一次了_(:з」∠)_))
34 | PA13 | I/O | FT | JTMS/SWDIO |
37 | PA14 | I/O | FT | JTCK/SWCLK |
38 | PA15 | I/O | FT | JTDI |
39 | PB3 | I/O | FT | JTDO |
40 | PB4 | I/O | FT | JNTRST |
重映射的代码如下:
//使能复用功能时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//JTAG 部分端口用作普通IO口,JTAG-DP 禁用 + SW-DP 使能
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
举报