TQ210裸机编程(2)——LED流水灯
两个文件start.S和led.c
start.S
.global _start @声明一个全局的标号
_start:
bl main @跳转到C函数去执行
halt:
b halt @死循环
led.c
#define GPC0CON *((volatile unsigned int *)0xE0200060)
#define GPC0DAT *((volatile unsigned int *)0xE0200064)
void delay(volatile unsigned int t)
{
volatile unsigned int t2 = 0xFFFF;
while (t--)
for (; t2; t2--);
}
int main()
{
int toggle = 0;
GPC0CON &= ~(0xFF << 12);
GPC0CON |= 0x11 << 12; // 配置GPC0_3和GPC0_4为输出
while (1)
{
GPC0DAT &= ~(0x3 << 3); // 熄灭LED1和LED2
if (toggle)
GPC0DAT |= 1 << 3; // 点亮LED1
else
GPC0DAT |= 1 << 4; // 点亮LED2
toggle = !toggle;
delay(0x50000);
}
return 0;
}
Makefile
led.bin: start.o led.o
arm-linux-ld -Ttext 0x20000000 -o led.elf $^
arm-linux-objcopy -O binary led.elf $@
arm-linux-objdump -D led.elf > led.dis
led.o : led.c
arm-linux-gcc -c $< -o $@
start.o : start.S
arm-linux-gcc -c $< -o $@
clean:
rm *.o *.elf *.bin *.dis
转载于:https://www.cnblogs.com/suncoolcat/p/3367852.html
TQ210裸机编程(2)——LED流水灯相关推荐
- 分别用汇编语言、C语言编程实现LED流水灯
一.C语言编程 1.先创建一个新的工程 2.文件名 3.右键Source Group创建一个.c文件 4.在.c文件中放入以下代码 //--------------APB2使能时钟寄存器------- ...
- 用寄存器HAL库完成LED流水灯程序
STM32的地址映射.寄存器映射原理以及GPIO端口的初始化设置三步骤 (一)STM32F103系列芯片的地址映射及寄存器映射原理 1.STM32F103C8T6简要介绍 ● STM32F103C8 ...
- S5PV210 | 裸机汇编LED流水灯实验
S5PV210 | 裸机汇编LED流水灯实验 开发板: 1.原理图 上图中,当按下POWER键后,VDD_5V和VDD_IO会产生5V和3.3V的电压,其中D26无须GPIO控制,为常亮状态,即我们所 ...
- 【嵌入式基础】用C语言编程、寄存器实现LED流水灯程序;stm32CubeMX+Keil使用HAL库点亮流水灯
本文主要介绍STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置步骤.利用C语言编程和寄存器点亮流水灯以及stm32CubeMX+Keil使用HAL库点灯 目录 一.STM3 ...
- 采用移位运算编程实现P2口8位LED流水灯
本代码为基于普中科技51单片机 采用移位运算编程实现P2口8位LED流水灯,从高位(P2.7)到低位(P2.0) #include <reg51.h>void delayms() {uns ...
- 【嵌入式系统基础实验一】-----led流水灯及串口通信的HAL库方式和寄存器编程方式实现,输出波形检测
文章目录 1.实验知识点简要解析 1.1串口通信协议 1.2 RS232.485电平与TTL电平的区别 1.3 USB/TTL转232"模块 2.LED流水灯的寄存器地址 和HAL库这两种方 ...
- 单片机c语言编程实现中间向两边,再从两边向中间亮的程序流程图,单片机控制LED流水灯从中间向两边.doc...
单片机控制LED流水灯从中间向两边,从两边向中间 这个就是把 先奇数亮再偶数亮,循环三次:一个灯上下循环三次:两个分别从两边往中间流动三次:再从中间往两边流动三次:不过这个程序实现的 应该是这样的 先 ...
- STM32F103C8T6以寄存器方式借助面包板搭建电路点亮LED流水灯详解
文章目录 一.寄存器原理 1.什么是寄存器 2.如何访问寄存器 二.GPIO端口的初始化设置 1.时钟配置 (1)找到时钟使能寄存器映射基地址 (2)找到端口偏移地址以及对应端口所在位置 (3)使能对 ...
- 【嵌入式04】用寄存器HAL库完成LED流水灯程序
目录 一.原理学习 1.寄存器映射原理 2.GPIO端口的初始化设置步骤 二.LED流水灯 1.程序设计思路 2.寄存器方式编程实现 3.HAL库编程实现 4.软件仿真 三.总结 四.参考链接 一.原 ...
最新文章
- 苹果应用上架审核规则介绍
- 手把手教你生信分析平台搭建
- Linux常见的一些性能监控命令
- 用linux命令通常做什么,如何知道你在 Linux 里最常使用的几个命令?
- mapreduce 算法_MapReduce算法–了解数据联接第1部分
- 于变局中开新局!《2021中国SaaS市场研究报告》报告发布
- UVA - 10340 ​​​​​​​All in All
- SPSS 多重共线性问题【SPSS 039期】
- WebView基本使用
- mysql %3cforeach_RCTF 2020 Writeup
- css中找不到bordercolor,CSS里bordercolor要怎样使用
- 菜狗杯Misc你会异或吗wp
- 【UI设计No9】VI
- Excel中取值函数三剑客:LEFT、RIGHT、MID
- easyui树mysql_Easyui 创建异步树形菜单_EasyUI 教程
- 冬令营二月七日工作日志
- Linux高级服务搭建
- 能消除眼部疲劳的电脑桌面设置方法
- win10打开任务管理器的快捷键
- 使用MRC(机器阅读理解)方式做事件抽取任务,基于2020百度事件抽取任务
热门文章
- 查看git版本的cmd命令
- SpringDataJpa使用示例
- Java监听器Listener入门示例
- Windows服务安装卸载
- 创建azure服务器
- VS2015编译MuPDF 1.13.0源码(详细)
- Windows 10 下 Anaconda3 (Python 3.8) 配置 OpenCV-4.4.0
- 热敏电阻如何查表计算温度_如何为温度传感器选择正确的热敏电阻
- msc货物跟踪查询_运联研究 | 货物全程可视,能否真正消除物流信息盲点?
- linux ar 命令详解