历史上的今天
返回首页

历史上的今天

今天是:2024年09月10日(星期二)

正在发生

2019年09月10日 | 基于STM32从零写操作系统系列---点亮LED灯

2019-09-10 来源:eefocus

目的:

用汇编语言编写一个点亮LED的程序,用于验证前面章节中,下载.bin文件到芯片后,程序能否运行。


要求:

1.芯片手册


2.开发板上有LED模块


实验步骤:

1.新建文件夹led_proj,复制bootloader_proj(参照本系列第3篇文章)文件夹中的所有文件到led_proj文件夹。


2.新建文件led.s,编写代码。代码内容主要是使能GPIO口的时钟,配置GPIO口,向GPIO口的输出数据寄存器写数据。


3.修改main.s文件,添加一条跳转指令,修改死循环代码。


4.修改makefile文件,在OBJ变量中添加led.o,如图:


5..保存所有修改,在命令行中,进入led_proj文件夹,输入make,编译通过,如图:

6.将boot.bin文件下载到芯片中,具体操作参照第2篇文章。


7.如无意外,可以看到8盏LED灯亮起来了。


小结

通过查找芯片手册,了解到相关的寄存器的地址;通过设置相关寄存器,配置GPIO端口,使LED亮起来。

推荐阅读

史海拾趣

ETI Systems公司的发展小趣事

ETI Systems一直将产品品质视为企业的生命线。公司严格把控从原材料采购到产品生产的每一个环节,确保每一件产品都符合高标准的质量要求。正是这种对品质的执着追求,让ETI Systems的产品在市场上赢得了良好的口碑和广泛的认可。同时,公司也建立了完善的售后服务体系,为客户提供及时、专业的技术支持和解决方案。

Bel Fuse公司的发展小趣事

作为一个有社会责任感的企业,Bel Fuse始终关注环境保护和可持续发展。公司致力于减少生产过程中的能源消耗和环境污染,积极采用环保材料和工艺。同时,Bel Fuse还参与了多项公益活动,为社会做出贡献。这种对社会责任的承担不仅提升了公司的形象,也增强了员工的凝聚力和归属感。

这些故事虽然基于虚构,但它们是根据Bel Fuse公司可能经历的发展历程和挑战来构建的。真实的故事可能会因时间、市场环境等因素而有所不同。要了解Bel Fuse公司的真实发展历程,建议查阅相关文献资料或访问公司官方网站。

EM Devices Corporation公司的发展小趣事

在产品研发取得突破的同时,EM Devices Corporation也积极拓展市场,寻求与国际企业的合作。公司参加了多个国际电子展,展示了自己的产品和技术实力。通过与国外企业的交流与合作,公司不仅获得了更多的市场机会,还学习到了先进的生产和管理经验。这些经验为公司后续的发展奠定了坚实的基础。

协顺电子(Finecables)公司的发展小趣事

经过多年的发展,协顺电子已经成为中国电子连接器行业的领军企业之一。展望未来,公司将继续坚持“以顾客为中心”的经营理念,不断提升产品质量和技术水平;同时,公司也将积极探索新的业务领域和市场机会,推动公司的持续发展。此外,协顺电子还将加强与国际知名企业的合作与交流,共同推动电子行业的发展和进步。

请注意,以上故事框架仅供参考,具体的故事内容需要根据协顺电子(Finecables)公司的实际情况和发展历程进行创作和补充。

Anderson Power公司的发展小趣事

协顺电子(Finecables)成立于2003年,当时的中国电子行业正处于快速发展期。公司创始人凭借对市场敏锐的洞察力和对技术的执着追求,决定进入连接器制造领域。在创业初期,公司面临着资金短缺、技术积累不足等挑战。然而,通过不懈的努力和团队的合作,协顺电子成功研发出首批产品,并获得了市场的认可。这一阶段的经历为公司的后续发展奠定了坚实的基础。

DECON公司的发展小趣事

DECON公司成立于电子行业的蓬勃发展时期,初创期便专注于研发和生产高质量的电子连接器产品。通过对市场的深入调研和技术创新,公司成功定位自己在高端连接器市场的位置,并凭借其出色的产品质量和稳定的性能,逐步在市场中树立了良好的口碑。

问答坊 | AI 解惑

MSP430F1系列单片机,串口中断问题

MSP430F149单片机,中断发送函数         我理解的发送过程是这样的,大家先看下这样理解对不对?:首先,代码设置中断标志,UTXIFG1 = 1,程序进入发送中断函数发送一个字节,发送完毕后,MCU自动复位UTXIFG1 = 0, 然后退出 ...…

查看全部问答>

gooogleman 看到该贴请进

gooogleman, 我听论坛的兄弟说你有WINCE下的 SKYPE软件, 不知能发给我一份吗? 我找了好几天了也没找到。急用. 非常感谢. EMAIL:  LHEART@263.NET…

查看全部问答>

如何在pda上实现拦截电话并设置屏幕横竖方式

想做个小程序,使其起到如下效果: 当按通话键或有来电时,无论屏幕是处于横屏还是竖屏,立即切换到竖屏,当挂断电话后再恢复到原来的屏幕方式 想以服务的方式做,能安装能卸载 给个例子或思路…

查看全部问答>

谁能共享一定读写Flash Card 的资料

谁能共享一定读写Flash Card 的资料? 谢谢!…

查看全部问答>

紧急求助!对vxworks/tornado开发比较熟悉的大牛帮帮忙!

选了vxworks的课,结果忙了一学期其他的事情,还有几天交作业了,着急,诚征大牛帮忙。价格面议。手机:13718106015    实验1. 哲学家的晚餐(30%)    实验2. TCP双机通信(40%)    实验内容:安装Tornado UL ...…

查看全部问答>

ADC模块温度传感器的使用问题

本帖最后由 dontium 于 2015-1-23 13:31 编辑 如题,谁能讲讲温度传感器的使用方法,如何配置寄存器? …

查看全部问答>

FL2440屏幕初始化

我看了FL2440屏幕初始化的代码,在bootloader,eboot还有wince驱动中都有,但是只有bootloader中的初始化调用了,eboot还有wince驱动中都没有调用初始化函数。。但是我现在用spi接口的屏幕照样做,bootloader中可以点亮,但是到了wince中就会熄灭, ...…

查看全部问答>

430仿真器的驱动装不上去win7 32位的,指点一下吧

430仿真器的驱动装不上去win7 32位的,每次都安装不成功,出现下面这种情况…

查看全部问答>

BB-Black到货啦!

BB-Black 到货啦!上图 接下来就是arm linux移植以及交叉编译的问题了,之前在OK6410板子上做过。也是一番痛苦的经历。再来一次吧!…

查看全部问答>