常见问题(编辑中)¶
如何寻找更多官方资料¶
1、
https://www.stmcu.org.cn/ (同上,主要资料都会跳转到上面)
根据需要选择资源分类项目,页面跳转后再选择芯片分类后浏览资料。
标准固件库在“固件与软件”分类,“实战经验”分类也很多值得看的文档。
2、
https://www.st.com/content/st_com/zh.html
页面跳转后在左侧选择分类,然后在中间页选择“文件”标签后再选择需要的内容。
从主官网可以下载到的固件库或者文档手册与上面网站的是一样的,优点是有概述页和配图,可以帮助理解整个内容的概念。
关于Keil中ARM Compiler V5/V6版本 和其他编译器方面问题¶
(编辑中)
屏幕问题¶
1、 核心板接屏幕情况:¶
核心板没有专门适用于接屏幕的插座,只能另外购买屏幕转接板+转接线来连接对应的屏幕,不同的屏幕对应不同的排线和转接板,买之前需要询问下客服购买对应的型号。
也可以通过杜邦线连接,不过不推荐这么做,主要是因为纯杜邦线连接容易连错且容易出现接触不良现象。
2、 开发板连接屏幕情况:¶
开发板底板上有自带的屏幕插座可以自由插拔屏幕。
3、 电机板连接屏幕情况:¶
核心板没有专门适用于接屏幕的插座,只能另外购买屏幕转接板+转接线来连接对应的屏幕,不同的屏幕对应不同的排线和转接板,买之前需要询问下客服购买对应的型号。
注意
若是发现用了转接线后屏幕不亮时请先检查下排线的连接情况,屏幕排线接口需要往外提或者往上拨一下,打开后再把排线放进去。
RGB的屏幕使用的屏幕排线是同面的,其他情况中,带转接板的排线是用同面线,不带转接板的屏幕排线用异面的排线。如果发现点不亮屏幕,也可以检查下是否排线不对,若是不对,可以联系客服补发。
上图为骄阳电机板接带转接板的3.2寸屏幕示意图,使用的是同面线,屏幕上出现的红色块是因为电机板此时未烧录字库到FLASH, 需要通过电机板的HAL库开发指南中的【0-刷外部FLASH程序(烧录字库资源文件)】工程使用U盘烧录字库到对应位置才能显示中文。
F429使用7寸屏幕显示闪烁¶
使用F429开发板和7寸屏幕下载库例程的触摸画板例程后如果发现显示闪烁,将bsp_lcd.h里面的 #define LCD_RGB_888 1 行改 #define LCD_RGB_888 0, 这样在bsp_lcd.c里面使用RGB565和高像素时钟频率配置初始化,闪烁问题明显好转。
参考 https://www.firebbs.cn/forum.php?mod=viewthread&tid=28673 帖子里面的描述和教程LCD章节了解如何调整像素时钟,帖子中举例的参数和些例程中可能不同,先按原例程能正常使用的情况。
7寸屏幕规格上需要更高像素时钟约25M,在高像素时钟下,对SDRAM传输带宽占用高,以F429如果用RGB888和25M像素时钟举例,F429的sdram总带宽180MB/s,屏幕显示占用带宽:
800*480(分辨率) * 4(RGB888 4字节) * 约60( 屏幕刷新率 = 像素时钟/(Width+HBP+HFP)*(Height+VBP+VFP) ) = 92.16MB/s,占用总带宽一半,画面会容易撕裂,简单总结就是对于F429如果要用高像素时钟的屏幕,程序适合使用RGB565。
跳帽相关问题¶
开发板底板上黄色/蓝色/黑色的把两个针脚连在一起的小长方体叫做跳帽。
跳Boot的具体操作¶
跳Boot的原理是通过改变Boot脚的不同状态来控制系统不同的启动方式,当开发板因为程序问题导致芯片跑飞,更改仿真器设置已没用时,可以试试这个操作。
BOOT0 |
BOOT1 |
启动方式 |
---|---|---|
0 |
X |
内部FLASH |
1 |
0 |
系统存储器 |
1 |
1 |
内部SRAM |
具体操作为把BOOT0用跳帽跳到3.3V后,板子断电重新上电,然后再试下载,如果能下载后就BOOT0跳回GND。
使用开发板的232、485、CAN设备等¶
开发板的232和485设备通过跳帽将芯片上的串口引脚与底板上的对应设备连接起来,CAN设备则是在底板连接好,若要使用只需将电源跳帽盖好,若是不想用板子默认跳帽盖好对应的针脚对应外设,可以拔掉对应跳帽通过杜邦线与对应针脚连接。 如霸道V2开发板默认是232对应UART3,485默认对应USART2,CAN对应PB8PB9,485与CAN是公用对应电源跳帽,可以通过原理图查看对应跳帽位置。
如霸道V2开发板:
1、串口设备如485、232这类,均不是与板子绑定的,如果不想按照默认的跳帽连接,也可使用杜邦线将设备的输入输出引脚与其他串口的输入输出引脚相连。
注意,下载的程序中定义使用的串口,要与实际使用的串口是相对应的,如果是找的别的程序下载,比如程序名称说它是232程序,但实际定义到了USART1, 那么要么就是直接用我们默认跳帽指向的“USB转串口”位置连接MINI USB到其他设备,要么就是将232的默认跳帽拔掉,将其用杜邦线连接到USART1。
2、232的跳帽不需要交叉接,DB9的公头和母头引脚定义中公头和母头在连接的时候已经交叉接了, CAN和485设备不需要交叉接,盖好对应跳帽后是CAN-H连CAN-H,CAN-L连CAN-L,485-A连485-A,485-B连485-B。
【实战操作】串口设备默认是指向串口X,但我想用这接口,但使用别的串口通讯怎么办?¶
原理很简单。只需要将此设备的默认跳帽更改指向,接到对应的串口针脚即可,这里使用霸道V2的开发板,把USB转串口位置由默认跳帽指向的USART1更改至UART4,注意对应RXTX需要交叉接,过程如下图所示。
接线问题¶
形如此接线端子的接口都可以通过按照端子上面的花纹用对应的螺丝刀扭松,将端子侧面的中间格子降下来,然后插入导线或者公头杜邦线,接着再反方向拧紧使格子升上去就可以使用了。
示波器测量电机开发板或者电机相关¶
示波器要测量无刷电机或者PMSM的霍尔传感器或者编码器的信号时,安装例程接好线在驱动板的接口上,驱动板提供供电和信号上拉,驱动板需要接上开关电源的供电和在无刷接口的5V脚提供5V。
电机板子的步进驱动接口为隔离的光耦开漏输出,需要按照共阳方式先接线到步进驱动器上才方便测量隔离输出的波形,接好线后示波器探头接PUL+(VCOM),夹接PUL-(VCOM旁引脚)。示波器用自带电池运行或者供电排插不能接地,测量出的干扰小。
有刷驱动板占空比范围¶
有刷驱动板为双N MOS管结构,自举电容需要时间充电,PWM控制信号建议一般占空比小于95%,不能百分百。
其他¶
【PA0】这个名字到底指的是什么?¶
在GPIO的命名中,常常会见到诸如【PA0】【PB3】这类的引脚命名,那么在【PA0】中的【P】【A】【0】分别是指的什么?
【P】为Pin的首字母,也就是引脚的意思。
【A】是GPIOA组的A,GPIOA为一组端口。
每组端口会有pin0(引脚0)、pin1(引脚1)、pin2(引脚2)、……等等引脚,
由此可得【PA0】就是端口A组的第0个引脚。
可简单理解为要去一个班里找一个人,一个班里很多个小组,通过“第一小组”只能确定一组人,而“第一小组第一个人”才能确定到要找的那个人。
下载例程没有运行¶
这里是只指出一种容易忽视的情况,首先得确认下载对了正确对应板子的资料例程,但使用我们的DAP仿真器时,下载完例程后,不要只拔了电脑与仿真器 的连接,不要仿真器只连接了板子没有连接电脑,意思要么仿真器和板子都同时连到电脑,要么仿真器拔掉板子那边,否则影响板子不能正常复位。
这边DAP需要接到复位线下载后才能自动复位,如果没有接复位线,下载后需要手动按复位。
串口下载显示0KB¶
下载小于1KB时显示0KB,没有关系
CUBEMX相关软件安装不了¶
确定安装好的是Java64位包和软件复制到磁盘没有中文、短路径后再试
官方芯片包获取链接¶
http://www.keil.com/dd2/Pack/ 因为是国外服务器问题,可能不好下载,使用云盘中已经下载好的可以
使用ADC功能时,为什么引脚悬空仍会显示检测到了一个稳定的值?¶
ADC用于采集电压,但是在实际使用的时候就会发现当芯片已经烧录了对应程序,引脚开启了对应的ADC功能并确实能够测量到0~3.3V范围的电压, 但是,当引脚悬空时,也就是说引脚没有接测量电压的时候,此时串口还会输出显示测量到了一个稳定的值。
这是因为使用ADC功能时GPIO引脚配置为浮空模式,这个模式与配置为上拉模式或下拉模式时,默认的电平由上拉或者下拉决定不同,配置成这个模式时,一般直接用电压表测量其引脚电压为1点几伏,而这是个不确定值。 这是浮空模式的特点。
注意
浮空模式的不确定值不是说当不接测量电压引脚就会输出一连串跳变的电平值,而是说这个电平值具体是多少是不确定的,它可能是0V,也可能是3.3V,不过一般来说都是1点几伏。