打印
[STM32F1]

【我与ST MCU的故事】+STM32之“103”

[复制链接]
1804|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 lihui567 于 2019-3-15 13:28 编辑

      STMCU中文论坛已经12年了,我毕业时间都快赶上了,回忆满满的,故事杠杠的。
    万事开头难,回忆自己当时学习stm32的历程,有寂寞,有欢喜,有辛酸,有成就,但是有stm32官网中文论坛资源的支持,入门学习还是非常容易上手的,看stm32数据手册和参考手册,库函数编程和例程,看的滚瓜烂熟,到实际项目中还是不会,没办法,多敲代码,多做DIY,慢慢的就把程序都融入到stm32项目中了,为了快速编程,不得不学习盲打,这样编程速度提上去了,开发项目的效率也大大提高了。

  这是当时学习51做的电子时钟,全部手工焊接,搭建电路,电子时钟由8位共阳数码管、stc12c5a60s2单片机、74HC373、74hc245和三个按键组成。单片机的P1口接245并串电阻来驱动数码管的位选,P2口接373来驱动数码管的段选,还有三个按键接P0口来控制时分秒的加减。
  原理图                                                            
            
  效果图
有了51的编程基础,开始了人生的stm32学习,这是16年还是17年,在STMCU论坛参加活动送的STM32F103Nucleo-64的开发板,正好也是我学习stm32的入门的板子,这个是STM32官方推出的,IO口引脚全部引出,完全兼容ARDUINO,可以看到更换的单片机和外部8M晶振,在学习过程当中不小心12v的电源碰到IO口,结果单片机挂了


这个板子有好多SB接口,在入门学习过程当中非常方便把某些引脚短路或断路的。当时的确碰到SB接口的问题了,自己没有从板载USB口供电,直接外置3.3V电源给单片机供电,结果下载程序重新上电后发现单片机启动非常慢,原来是工作单片机的复位脚NRST和烧录程序单片机的T_NRST引脚用0欧电阻连接,于是在电路板上找到sb12接口,把0欧电阻焊接掉就ok了
   
从这个板子学习过程当中,发现遇到问题不可怕,可怕的是遇到问题退缩,长时间不去解决,凡是顺腾摸瓜,总能解决问题的,特别是以前用的STD库,现在用HAL库,不得不转换思想,去适应新的STM32CubeMx图形编程工具 。














2.jpg (295.77 KB )

2.jpg

132775c8b28263e429.png (70.83 KB )

132775c8b28263e429.png
沙发
Cjy_JDxy| | 2019-3-9 11:04 | 只看该作者
我获得过好几块类似的板子

使用特权

评论回复
板凳
lihui567|  楼主 | 2019-3-9 11:39 | 只看该作者
都是啥型号啊

使用特权

评论回复
地板
lihui567|  楼主 | 2019-3-10 09:31 | 只看该作者
在学习这个103板子几大难点
1.flash模拟eeprom
2.USB模拟串口
3.GUI实验

使用特权

评论回复
5
lihui567|  楼主 | 2019-3-10 09:38 | 只看该作者
本帖最后由 lihui567 于 2019-3-15 12:42 编辑

先看第一个问题,这个也是参考中文论坛的源码学习的
先看Flash操作的简单流程
1、确定要写入Flash的首地址(稍后介绍确定地址的方法)
2、解锁Flash
3、对Flash进行操作(写入数据)
4、对Flash重新上锁
但是在实际项目中,直接操作FLASH地址的话,会导致单片机flash寿命大大降低,具体用啥方法呢,在官方给的优化文档中,采用虚拟地址的方法
意思就是如果变量是 16 位,则每个变量都占用 32 位( 16 位数据加 16 位虚拟地址),这意味着每次写入新数据时,各个变量分别使用 4 字节的 Flash 。也就是每个变量实际占用四个物理地址,每个 1 KB 页在变满之前可执行 256 次 变量写入。
看看项目中具体怎么用,还是以开发板为例,64K的flash,程序中我们选择后4k作为物理地址来存储数据
#define EEPROM_START_ADDRESS    ((uint32_t)0x0800F000) /* EEPROM emulation start address:
after 4KByte of used Flash memory */
结束地址就是0x0800FFFF,就是4k的空间
程序刚开始需要对flash初始化,EE_Init()这个函数是必须的




STM32F10xxx闪存编程参考手册.pdf

464.42 KB

STM32模拟EEPROM的使用和优化.pdf

288.75 KB

STM32模拟EEPROM的虚拟地址.pdf

431.59 KB

使用特权

评论回复
6
lihui567|  楼主 | 2019-3-10 09:45 | 只看该作者
本帖最后由 lihui567 于 2019-3-10 09:48 编辑

第二个问题就是USB模拟串口,当时也是在工作中需要usb和上位机通讯https://bbs.21ic.com/icview-2515012-1-1.html

但是对于USB通讯这块也是比较复杂的,真正把这块的全部功能完全吃透需要时间的

使用特权

评论回复
7
lihui567|  楼主 | 2019-3-10 09:50 | 只看该作者
第三个问题就是GUI了。在103上的简单入门,写的挺好的,后续我们是在429上应用GUI了https://bbs.21ic.com/icview-2383616-1-1.html




使用特权

评论回复
8
lihui567|  楼主 | 2019-3-10 09:52 | 只看该作者
总之,总体来说,学习stm32编程中。在中文论坛好多提的问题也是自己值得学习的,很有可能在工作上就遇到了

使用特权

评论回复
9
Cjy_JDxy| | 2019-3-10 10:42 | 只看该作者

070,030,413等等

使用特权

评论回复
评论
lihui567 2019-3-10 22:13 回复TA
有F429没? 
10
Cjy_JDxy| | 2019-3-11 08:52 | 只看该作者

忘了,可能没有。

使用特权

评论回复
评论
lihui567 2019-3-13 15:48 回复TA
好的 
11
一路向北lm| | 2019-3-13 17:38 | 只看该作者
Cjy_JDxy 发表于 2019-3-9 11:04
我获得过好几块类似的板子

也可以出来分享啊

使用特权

评论回复
12
Cjy_JDxy| | 2019-3-13 18:16 | 只看该作者

不好意思,我的都卖掉啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:您的嵌入式应用将得益于意法半导体领先的产品架构、技术、多源产地和全方位支持。意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。

54

主题

3745

帖子

20

粉丝