如果不会寄存器开发而陷入瓶颈, 那么本文将会有较大帮助

本文主要针对非专业但需要进行单片机开发的人员,特别是那些在STM32寄存器开发中遇到困难的读者。通过讲解,帮助读者理解和操作寄存器,以解决开发瓶颈。以STM32F1xx系列为例,介绍了寄存器操作的通用性,并强调了正确的方法——借鉴和修改现有代码。内容涵盖了基础的二进制、浮点数精度问题、C/C++语言基础和寄存器配置,旨在帮助读者快速掌握寄存器开发。
摘要由CSDN通过智能技术生成

如果不会寄存器开发而陷入瓶颈,那么本文将会有较大帮助

38a628572213814de4448c618009474d.png///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像黑色字体加我地球呺也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///9de07e0d1520ae62443fb97a5e64a501.png

0.绪论

对于经过系统培训的开发者.单片机或SoC的驱动开发,不管是使用各种库还是直接上寄存器,都不成问题.

可是很多非专业但是需要干嵌入式或单片机工程的人,比如机械,车辆工程,物理,或是其他的一些专业.有时候这些学生需要搞比赛,做项目,不可避免的要用到一些单片机(由于种种原因,现在几乎都会首选STM32).但是缺乏系统训练的学生往往无法看懂寄存器版本的例程,或是别人的开源项目.自己写的话更是不知道如何开始.或者编译完成后总是出现莫名的问题.这给大家带来了极大的困难.

同时互联网上大部分教程都是转载来转载去,各种差异和版本都有.很多人即使看过了也是一头雾水.所以应一个同学要求,大概写一下寄存器的一些操作.

本教程将会使用"学生用户体量庞大"的STM32F1xx系列的单片机作为例子.但是不必担心.所有的寄存器操作都是共通的.并不会有本质的差异.希望你能快速阅读完并且理解完,然后查阅自己需要的资料.不管是什么东西,这种方式都是通用的.

嵌入式软件开发具有一个比较庞大的知识体系.限于作者的时间和水平,本文不可能讲太多东西.但是如果你只是因为不会寄存器开发而陷入瓶颈,那么本文将会有较大帮助(毕竟这个是写文章的目的).

理解本文需要一些基础,大概包括: c/c++,一些数学,计算机基础知识.大多数理工类专业都会有相关的课程的.如果确实存疑可以即时搜索.

让我们先记住开发的正确方式: 摘抄借鉴,修改糅合,以实现功能为目的,以别人的代码为基础.

只要不涉及什么知识产权的话,这样做是完全没有问题的.毕竟不需要把很多基础性的东西写来写去.所以请大胆的找开源项目,尽可能在基础上改,而不是从零开发.不废话了,开始正事.

比如十进制下的0.1就是二进制的无限不循环小数.上面那个例子也是.

著名的 IEEE754 float浮点数标准导致的bug:在很多语言中, 0.1+0.2≠0.3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值