在某宝网站上用10元的价格就可以买到一个SMT32F103C8T6板。下来看一下这个板子的尊荣:
对这个板子是不是很熟悉?有了这个板子,MCU的爱好者可以充分发挥自己的想象力,但工程技术人员在开发时需要了解板子的配置等信息,比如在KEIL开发环境下要关注板子硬件的基本配置,要做时钟配置,串口配置,DMA配置等等,使用mbed OS 2的工程技术人员不用为MCU的硬件配置花费大部分的精力,可以全心关注应用。。这个板子有STM32F103C8T6微处理器。该处理器有与NUCLEO-F013RB兼容的平台。
注意,从应用的角度看这个板子的内存有限,使用mbed OS 2还略显可以,若使用mbed OS 5可能会在存储器收到限制。
最大抗难受电压值由Thor Sten提供,标记在接线管脚的旁边,以避免错接损坏器件。要了解详细管脚定义可以参见数据手册。
重要提示:
标记有蓝色/白色或者是绿色/白色(即PC_13, PB_9, A0, D14…)可以在代码中使用。其它的标签是作为信息提供的(可变功能,电源管脚)可以作为其他管脚使用:
LED1=PC_13 SERIAL_TX=PA_2 I2C_SCL=PB_8 SPI_MOSI=PA_7 PWM_OUT=PB3
SERIAL-RX=PA_3 I2C_SDA=PB_9 SPI_MISO=PA_6
SPI_SCK =PA_5
SPI_CS =PB_6
注意在板子上打印中省略了P字母和_字母,即A1代表的PA_1)。Arduino(绿色/白色)及其他名字的定义也在板子上没有指示出来。
还要注意在板子上的LED连接到了PC_13管教,是通过一个电子与3.3V电源连接的,要打开或关闭LED灯,需要分别输出0和1。
在网页上不能上载lbr或者是zip文件,所以eagle library的文件没有在这里直接标出,右击图形,点击save link as… 将png 或lbr文件保存到自己的硬盘。
像建立NUCLEO-F103RB board(在在线编辑器上选择NUCLEO-F103RB 作为目标板)或者是点击这里的链接倒入演示程序到在线编辑器。
#include "mbed.h"
Serial pc(PA_2, PA_3); // TX, RX
DigitalOut myled(PC_13);
int main()
{
while(true)
{
// The on-board LED is connected via a resistor to 3.3V
// (not to GND
// So the LED is active on 0
myled = 0; // turn the LED on
wait_ms(200); // wait 200 millisecond
myled = 1; // turn the LED off
pc.printf("Blink\r\n");
wait_ms(1000); // wait 1000 millisecond
}
}
从上面的程序可以看出,在这个程序中没有了开始的串口配置,时钟配置和总线配置等,直接使用mbed OS 2库函数来编写应用程序。为系统开发省略了大量的时间。
注意:
始终记住,编译器只检查128kB作为flash的极限,而STM32F103C8T6只安装了64kB,尽管在买这个板子的时候会标记为128kB,但实际只是销售64kB版本的板子。当编译完成后,可以检查编译后的详细情况。注意看是否超过了flash 64kB的尺寸。
可以利用NUCLEO 虚拟盘作为STM32F103C8T6板子(拖放编程)。要实现的话,需要一个NUCLEO板子(任何具有ST-LINK/V2-1的板子都可以实现)。
NUCLEO board | STM32F103C8T6 | STM32F103C8T6 |
---|---|---|
CN4 connector | debug connector | board |
SWCLK <=> | DCLK | |
GND <=> | GND | |
SWDIO <=> | DIO | |
NRST | <=>RESET |
如果希望使用ST-Link V2 USB加密狗(aka ST-Link V2编程单元)来为上面的板子进行同样的连接及编程。如果没有安装ST-Link/V2驱动器的话,需要将ST-Link V2的加密狗连接到PC。点击编辑按钮并将程序存储到自己就地盘,然后运行STM32 ST-LINK uitility。当程序运行以后,打开二进制文件。点击Program verify按钮。
文件翻译完了,手头上没有NUCELO板子,只有一个STM32F103C8T6的板子和一个ST-LINK V2,实验结果会报告大家!
板子进行了试验,完全可以下载和执行程序。还没有试验串口通讯,要添加一个设备再试验一下。有结果通报大家!
这里是实验结果
程序可以编译,下载后按F5可以运行某宝的STM32F103C8T6板子,但还是有问题,当第二次掉电上电后按复位键也不能使控制器启动起来,多次上电有时候能启动,但------,哎,never easy,这就是MCU。很伤心,不知道是哪里出了问题。有知道的高手请指点一下。如果这个板子行就进入实战状态了!
采用我的调试器CH340与程序的串口连接,通讯正常!