stm32f103c8t6踩坑笔记
0.Introduction
序言:玩STM32F103ZET6高级开发板的某航小学期已经结束有2周了,然而本废物还不会写iic,spi,usart,hal等(划去)

人穷志短.这个板子本废物必然买不起,市场价已经涨到几百块了.
直到某一天,我的朋友,就是写文章好比

的县长要我学下STM32,然后就有了这个专栏,还有玩VS2019+(VisualGDB)+STM32F103C8T6最小系统板+若干元件(从某宝和某电子城入手的)的一系列踩坑过程

1.components to use
声明:因为航C助教工资太有限了,就买些便宜货.
a.单片机:STM32F103C8T6
上面的是电子城入手的,可以卖50R以上,甚至可能卖到100R,各位根据需要入手.
下面的是某宝入手的,应该能50R以下入手.它们的原理图


一定找卖家要原理图,并且妥善保存,否则你甚至会不知道怎么接线:)
如果有STM32手册更佳.
b.调试器(必须,我用的是电子城75R入手的JLINK)
不用stlink 因为目前visualgdb只支持jlink,还需要上jlink官网下载安装驱动

上电之前一定接对了线,并对照接口图检查
c.USB转TTL(必须,我用的是电子城8R入手的CH340G)
这个的驱动网上有,随便下载一个安装即可.
接线方法:3线,GND接单片机GND,RX接单片机TX,TX接单片机RX
STM32不像arduino内置了usb转ttl
d.JTAG转SWD(可选,某宝5R入手)
e.各种模块和元件(例如LED,HC-04蓝牙模块,L298N电机驱动板等)
f.面包板,面包线(公公头,公母头,母母头都要)


2.Configure VisualGDB Development Environment
这里说下大致流程 详细步骤可以参考CSDN(或者我再开个专栏写)
a.安装VS2019(我之前当航类C语言助教的时候已经装好企业版了)
b.配置VS2019的C语言/C++开发环境并熟练使用
c.VS2019扩展商店下载VisualGDB并破解

3.Programming/Debugging framework

良好的开端是成功的一半.下面先说怎么用VisualGDB创建STM32项目
如果前面的步骤完成了,起始页大概长这样

点红圈的那个进去,进入嵌入式项目向导

我们从零开始用VS2019造STM32项目

项目类型选择可执行二进制文件
工具链选择GNU Make(MSBuild好像有问题,CMake没有用过)
p.s.如果用CMAKE值得再开一个专栏
语言标准可以选择C或者C++ 我们选择C++(最后我写的是C风格C++)
然后选择设备(这不像是航C课程那样上手简单)

需要提前下载并配置好设备包,选择STM32F103C8
FLASH启动 不带semihosting
然后配置示例项目,这里用板载LED举例
我们用StdPeriph库(即所谓标准外设库)
查原理图可知板载LED位于PC13(即GPIOC组13脚)


循环周期先不改了,然后配置调试器
jlink usb连接
因为这个最小系统版(fig2所示)只有swd接口 选swd
p.s 不同的板子接口不一样 如果支持jtag就可以用jtag或者swd原因参见fig4.

点finish就开始创建STM32项目了

StdPeriph标准库已经包含到项目里面了
hello world代码. visualgdb已经帮你造好了 LEDBlink.cpp

F5即可烧写并用VisualGDB调试.
有一说一,用VS2019插断点调试或许比keil舒服.
开局一个板载LED闪烁,后面gpio usart iic spi hal全靠试错!