目的:
用汇编语言编写一个点亮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亮起来。
上一篇:STM32用寄存器点亮LED灯
下一篇:基于STM32从零写操作系统系列---使用C语言
推荐阅读
史海拾趣
在快速发展的同时,Conxall公司始终牢记企业的社会责任。公司积极参与公益事业,捐资助学、扶贫济困。同时,公司还注重环保和可持续发展,采用环保材料和节能技术,努力降低生产过程中的能耗和排放。这些举措不仅赢得了社会的广泛赞誉,也为公司的长远发展奠定了良好的社会基础。
这些故事虽然是以虚构的Conxall公司为背景,但其中所蕴含的创新、突破、拓展、合作和社会责任等要素,是任何一个成功的电子行业企业都不可或缺的品质。希望这些故事能够满足您的需求。
虹冠电子注重全球市场的拓展,通过建立完善的营销网络和合作伙伴关系,将产品销往世界各地。公司在新竹、汐止以及美国硅谷等地设有研发中心和生产基地,能够为客户提供及时、高效的技术支持和服务。同时,虹冠电子还与国内优秀的晶圆封测大厂等合作伙伴建立了紧密的合作关系,共同推动电源管理技术的发展和应用。
作为一家有社会责任感的企业,意普(ESPE)公司始终关注环保和可持续发展。公司采用环保材料和生产工艺,减少了对环境的污染。同时,公司还积极参与社会公益活动,为社会做出了积极贡献。这些举措不仅提升了公司的社会形象,也为企业的长期发展奠定了良好的社会基础。
Altmustech公司的创立源于一次技术突破。创始人李博士带领的团队成功研发了一款高效能、低成本的半导体芯片,这一创新技术解决了当时电子行业面临的能效问题,迅速引起了市场的关注。随着技术的不断完善和产品的推出,Altmustech逐渐在半导体市场上崭露头角,为公司的快速发展奠定了坚实的基础。
为了进一步扩大市场份额,Altmustech积极寻求与行业内外的战略合作。公司与多家知名企业签订了长期合作协议,共同研发新产品,开拓新市场。通过这些合作,Altmustech不仅获得了更多的资源支持,还提高了品牌知名度,进一步巩固了其在电子行业的地位。
在快速发展的同时,ERGOBAHCO公司始终不忘履行社会责任和推动可持续发展。公司积极参与社会公益事业,捐款捐物支持贫困地区的教育、医疗等事业。同时,ERGOBAHCO公司还注重环保和节能减排工作,通过引进先进的环保技术和设备,实现了生产过程的绿色化、低碳化。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。
如果执行这个语句: while (1) { printf("这个是死循环!\\n"); } CPU 估计能飚到 60% 以上; 但是: while (1) { printf("这个是死循环!但是有Sleep\\n"); Sleep(2000); } CPU 就不会 ...… 查看全部问答∨ |
我想在802。11协议下,把两台笔记本进行点对点数据传输,以C/S结构为基础,就是一台笔记本上运行服务器程序,另一台笔记本上运行客户端程序, 以socket为接口,能否在没有IP地址的情况下,或者是不用IP地址,通过别的方式来进行数据的传输呢… 查看全部问答∨ |
我用单片机来读取PS/2信号,其中经常要用到延时,都是几十微秒的延时, 用keli c来编程好像实现不了,因为单片机的晶振用的是11.0592MHz的,一个机器周期就将近有一微秒。请问用什么方法比较好。… 查看全部问答∨ |
|
flash烧写成功以后,突然想起来自己的板子GPIOF4引脚没有置高 我看大多数资料上讲,如果要从flash启动的话,一定要将GPIOF4置高 现在的问题是,程序烧进flash后,不将GPIOf4置高,怎么也能运行? 我还因为没有给GPIOF4留出置高的跳线而重新画了 ...… 查看全部问答∨ |