STM32F411简单应用 |
STM32F411简单应用 |
我以前写过关于这个芯片的一些简单介绍:
就是这样,其实是一个引脚引出来的最小系统
https://github.com/WeActTC/MiniSTM32F4x1
我们在这个链接里面下载网店给的一些资料
都是两个稳压器
这个手册呢,一百多页,细节不是很多
这个大几百页,细节繁复
参考手册
microPython的引脚定义,板子完美支持mpy
https://micropython.org/
引脚的定义是这样的,编程的时候对照的看
还有原理图,我们写程序就按照这个写
我买的板子,有这样的一些改进
这个固件,可以让你的板子成为一个下载器
不知道这个东西存在的意义,可以看这里
http://wiki.geniekits.com/doku.php?id=usb_express:cmsis-dap
外国靓仔的一篇文章附上
刷好以后,对应的接口
主要的三种开发方式
我这个没有焊接SPI的芯片
那烧录的时候就烧录这个固件
如果是4MB,8MB的就刷对应的固件就好
听说你想装逼?自己编译一个固件?
git clone https://github.com/micropython/micropython.git
cd micropython
git submodule update --init
cd mpy-cross
make -j4
cd ../ports/stm32/boards
那运行这些命令,WLS或者Ubuntu下
复制这个文件夹下的文件到
micropython/ports/stm32/boards
然后运行下面这个
cd YourPath/micropython/ports/stm32/
make BOARD=WeAct_F411CE CROSS_COMPILE=/mnt/e/MCU/tools/gcc-arm-none-eabi-8-2018-q4-major/bin/arm-none-eabi- -j
# 或者
make BOARD=WeAct_F411CE -j
CROSS_COMPILE
CROSS_COMPILE=/mnt/e/MCU/tools/gcc-arm-none-eabi-8-2018-q4-major/bin/arm-none-eabi- -j
改成自己的编译器路径
/* 板子版本为 V2.0 设置为 1 ,其他设置为 0 例如.V1.3,V2.1 V3.0 */
/* 使用内置flash改1 使用外置flash改0 */
// Flash Size:
// 4MB Flash 32Mbit
// 8MB Flash 64Mbit
// 16MB Flash 128Mbit
编译的时候,可以做一些简单的配置
SPI的大小
板子的版本
WeAct HID FW Bootloader
C语言开发程序下载工具,本工作室根据官方HID bootloader制作的图形化操作下载程序软件,更方便
WeAct Studio Download Tool
本工作室制作的下载工具,可以通过串口和USB下载程序或固件,可用于micropython固件的烧录或程序下载,非常好用,推荐!
STM32_HID_Bootloader
C语言开发官方HID bootloader,想了解更多请访问https://github.com/WeActTC/STM32_HID_Bootloader.git
STM32CubeProgmmer
STM32官方下载工具,下载请访问ST WebSite
WeActToolBox
网络调试助手和串口调试助手
链接:https://pan.baidu.com/s/1Ugz7GwJ0j41GaBrUv0c0Og
提取码:lhla
我下载工具就推荐官方的,官方的网不好进,所以工具在网盘了。
就这个
第二个
那么你应该是有一个ST-Link V2的
点击连接方式,然后连接
接着就会读出来很多数据,我们接下来烧录一个mpy的固件
点击这里
选固件
内置空间
成功的日志
忘了给大家看连接成功的样子了
现在是mpy的固件了,可以使用Python开发了
串口连接
这不就成功了~
import pyb, micropython
micropython.alloc_emergency_exception_buf(100)
class Foo(object):
def __init__(self, timer, led):
self.led = led
timer.callback(self.cb)
def cb(self, tim):
self.led.toggle()
blue = Foo(pyb.Timer(1, freq=2), pyb.LED(1)) # LED(1) -> PC13
带一点补全,不是很多
虚拟的挂了一个盘
引脚编号为 X1-X12、X17-X22、Y1-Y12 或其 MCU 名称
引脚IO模式有:pyb.Pin.IN、pyb.Pin.OUT_PP、pyb.Pin.OUT_OD
引脚拉取模式有:pyb.Pin.PULL_NONE、pyb.Pin.PULL_UP、pyb.Pin.PULL_DOWN
附加串行总线对象:pyb.I2C(n)、pyb.SPI(n)、pyb.UART(n)
https://www.jb51.net/books/733375.html
这里插一个书,STM32不完全手册,是学习必备的资料。
别说和你的板子不一样
都是互相兼容的
我截图一下,可以看到写的很清晰了
总的来说,这个板子可以折腾的空间还有很大,至于玩成什么样子,全看自己能力了。
因为每天有很多人在问问题,所以就建立了一个交流群
有需要的可以加进来一起学习