历史上的今天
今天是:2025年01月18日(星期六)
2020年01月18日 | 玩转单片机STM8(二)
2020-01-18 来源:eefocus
现在学习STM8,由于ST已经提供标准驱动库函数,对C语言能力要求已经很弱了,只要上过大学C语言课程,都可以进行编程。
但是我建议大家把C语言学深点。它的核心就是指针,玩转指针,就玩懂了C语言。它的其他功能和其他语言没有任何差别。只是逻辑控制而已。能把C的指针真正弄懂,你还不得不学习一下机器语言,万变不离其宗。见多识广,千万不要怀疑自己大脑的记忆能力,也不要认为多学会学混,我的经验是,学得越多,只会让你你看得更明白。
STM8系统的机器指令的长度是8位的。固定长度,你可以大致看看每个Bit是什么意思。这都是工程师精确设计的,也是人设计的。别人能做到的,你为什么不行?多问问自己。
机器指令的介绍,一定会花大篇幅介绍寻址。你可以想象,机器世界里,你的资源,其实只有内存和寄存器。内存是靠地址的,才能知道访问的是哪一块,而寄存器就是靠唯一的名字访问,当然外部设备的地址,也是靠地址访问。所以可以推断,机器指令手册,必须介绍,如何把寄存器的内容搬移到内存,或者如何把内存特定地址的内容搬移到寄存器。更有可能你是期望把直接的一个数字放入寄存器。等等的各种组合。不是任意一条连线都是被允许的,一般都不会支持直接把一条内存,搬移到另一条内存。中间需要寄存器暂存一下。等等的规律,你读多了自然会懂。
不过上手STM8不需要懂这些,一样可以玩。它内置bootROM,一启动,当跳进你的main函数时,该做的初始化已经完成,你直接可以开始操作GPIO了,clock如果没有额外需要,不需要配置,内置的16MHz的晶振,默认8分频,2MHz用来跑core,也就是运行你的程序。
STM8L151K4T6最小系统板,我会提供一个最小的工程文件,里面包含一个操作GPIO的代码,也就是让开发板上的 LED灯点亮,并且闪烁。基本的逻辑是拉高,拉低交替,中间加延时,这里的延时,用的最简单的的死循环delay,代码逻辑简单,就是不够环保。死循环是靠电耗换来的,但是这种代码有时候也是必要的,上MHz的CPU,运行每条指令都是ns级别的,如果你需要的delay也是ns级别的,那么死循环确实就是最好的选择。
上一篇:玩转单片机STM8(一)
史海拾趣
|
最近我使用IWOW的TR800来做一个无线数传的项目,我在想移动既然分配给模块的ip是内网ip,那是否意味着两个模块连上GPRS网络之后,他们都是获得同一内网里的ip,就像连接到同一路由器里面的两台机器一样? 另外共享一下我觉得不错的技术QQ群 群5 ...… 查看全部问答> |
|
1,请问现在做一个LED驱动(大小功率)安规费用 第一次做个安规完,如果没过,对方提建议,也要收相同费用吗? 有没有过了才收费的; 2,过安规应该包含有电磁兼容项目吧… 查看全部问答> |
|
请问: ATM64中的PB4脚的第二功能是如何开启的? 是不是把T/C0控制寄存器TCCR0中的CS02、CS01、CS00位置0就可以了???(TCCR0=0X00) 大家一定要指点一下啊!!!!… 查看全部问答> |
|
原来用的6416的片子,现在用的2407,想问下怎么能一上电就让dsp芯片运行我的程序?小弟新手希望各位大侠教的详细点,有资料发我邮箱也可以hljlishen0517@gmail.com 多谢各位了… 查看全部问答> |
|
小弟最近遇到个问题: 在vxworks中包含usb mass storage的相关组件,启动目标板后,插入U盘,读写操作都正确,但是拔掉后,再插入,就报告dosFsDevCreate失败,查看错误号,说是设备已存在,使用 hdr = iosDevFind(\"/usb/bd\", 0); iosDevDelet ...… 查看全部问答> |
|
74系列芯片功能大全 这里是常用74系列芯片功能大全很有收藏价值 7400 TTL 2输入端四与非门7401 TTL 集电极开路2输入端四与非门7402 TTL 2输入端四或非门7403 TTL 集电极开路2输入端四与非门7404 TTL 六反相器7405 TTL 集电极开路六反相 ...… 查看全部问答> |
|
这个电路在很多网站都有 对它解释也是相同 “这是一种用于三相三线制电源缺相保护电路,A、B、C缺任何一相,光耦器输出电平低于比较器的反相输入端的基准电压,比较器输出低电平,封锁PWM驱动信号,关闭电源。比较器输入极性稍加变动 ...… 查看全部问答> |
|
TPS5430DDAR芯片过回流焊后无法正常工作,重新焊接上正常工作 如题,TPS5430DDAR芯片经过热风回流焊,峰值温度230℃左右,测试电源无法工作,将两片TPS5430DDAR用烙铁取下,交换下重新焊接上去,电源正常工作,请问这是什么原因??????… 查看全部问答> |




