本帖最后由 qintian0303 于 2022-12-20 08:53 编辑
第二章 开箱及初始程序测试
一、终于开发板到手了,可以说是目前见到的板载功能最多的开发板,先了解一下开发板包含的内容:
1、5个按键(其中4个用户按键);
2、4个LED(红、绿、蓝、黄);
3、两个串口连接器;
4、USB连接器(micro接口);
5、8Mbit 的 SPI Flash 存储器;
6、2048bit 的 I2C 存储器;
7、板载断码LCD屏;
8、电位器;
9、无源扬声器等其他接口;
本开发板非常适合进行测评或者功能展示,这也是灵动开发板的一大特色风格,都是作为一个主机板设计的,尽可能的考虑了用户体验。
我们来一睹一下开发板的风采吧:
二、GPIO输出体验
1、了解硬件设计
LED 指示灯与 MCU 连接关系如下表:
LED
| LD1
| LD2
| LD3
| LD4
| 引脚
| PB9
| PB10
| PB11
| PC0
| LED 灯后通过一个限流电阻与IO口相连,只要开发板对应IO口低电平就会亮。
本次使用jlink的SWD模式进行程序下载,所以需要将对应的4个引脚连接,开发板是没有板载下载器的,所以需要外连,如下图:
2、软件设计
我们通过上一章创建的工程添加IO口的控制程序,在这之前我们要先了解以下时钟配置,大家都知道单片机会根据启动文件的顺序逐步执行,这其中就有SystemInit,一般都会把时钟配置部分放到这里,不知道开发板的软件设计者是出于什么考量,单独做了一个clock_init.c,咱们把他搬到自己熟悉的地方去,编写一个简单的LED对应IO的操作,编译正常、在线调试下载正常,可是并没有得到想要的结果,不知道是什么原因导致的,一直卡在while ( RCC_CR_HSIRDY_MASK != (RCC->CR & RCC_CR_HSIRDY_MASK) ),也就是说一直没有时钟配置成功。因为我的工程是自己建立的,所以有使用例程demo测试了一下,情况是一样的,同样的问题,卡在同样的地方,希望官方技术人员给予一下指导。使用Jlink是可以正常擦除的。 后记:问题已经解决,是IAR内置的jlink的问题,由于没有对应下载的pack,该版本IAR使用的jlink不识别MM单片机,官方文件介绍的MM321L136是M0+核,因此选择的M0+却出现问题,通过删除.dep文件,重新选择M0结果识别下载正确,程序运行正常。
|