在短短的两周内,我们集中学习了ARM体系结构相关课程和ucos基础课程,并第一次深入一个操作系统的内部进行详细的学习探究。
在学习了ucos和相关工具下的demo之后,我终于将汇编、hex、c等底层代码和硬件联系在了一起。一直做web、桌面应用开发,我这次算是体验到了另外的世界和开发思路。
关注于:
- 代码计数用大小k
- 关注效率
- 关注空间
- 注意赋值--掩码赋值
- 学会看芯片时序图
- 看清引脚
- 等等
下面开始我们的Hello world之旅吧。
在实验室写blog,没有linux环境,所以在描述windows相关操作和技巧时会有疏漏,如果疑问敬请斧正。
点灯和闪亮的基本原理:对于一个发光二极管(流水灯的显示器),其发光是电流可正向通过,也就是说两边一边高电压一边低电压。如下图所示,如果上面是高电压,下面是低电压则这个发光二极管就可以亮。
首先需要建立一个工程,在这里使用的是一个强大的嵌入式IDE:Keil uVision3. Project->New u...Project->choose a file-> select device -> NXP(LPC2124)->确定拷贝数据
然后,让这个工程在编译完文件后输出hex(用于电路板的二进制文件)文件.
Project-> Options about... -> Output -> Create HEX File
最后编码并生成。
绘制电路图,并导入HEX文件。
电路图的关键:左下方电源的配置连接,发光二极管的电阻连接。
代码结构:
#include <LPC21xx.h>
//多用宏,不论是迁移还是使用都很方便,而且方便阅读
#define ALL 0x3;//用于灯连接的端口 P0.0 P0.1
unsigned long i;//用于延时计数的变量
int j;
void delay(){
i=0x000FFFFF;
while(i)i--;
}
int main(){
//所有的芯片默认状态时GPIO,输入输出数据口
IO0DIR = ALL;//对应的二进制数是:0000 0000 0000 0011 ,
//即对应的P0.0, P0.1口为数据输出口
j = 0;
while(1){
IO0SET = ALL;//导致二极管的两极都为高电位,从而不亮
j++;
j%=2;//奇偶计数
if(j){
IO0CLR = 0x1; //让P0.0低电压
}else{
IO0CLR = 0x2; //让P0.1低电压
}
delay();
}
}
细节的讨论还会补充。
- 描述: 新建工程
- 大小: 72.9 KB
- 描述: 发光二极管结构
- 大小: 1.4 KB
- 描述: 电路图
- 大小: 36.9 KB
分享到:
相关推荐
大学物理册答案上下都有
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
Suno AI 是一家领先的人工智能(AI)公司,专注于开发创新的语音技术和解决方案。以下是关于 Suno AI 的资源描述: 语音识别技术:Suno AI 拥有先进的语音识别技术,能够准确地将语音转换为文本。他们的语音识别系统经过了大量的训练和优化,具有高度的准确性和鲁棒性,可应用于多种场景,如语音助手、语音搜索、智能客服等。 语音合成技术:除了语音识别,Suno AI 还致力于开发自然、流畅的语音合成技术。他们的语音合成系统能够生成高质量、逼真的语音输出,可以用于语音助手、自动化客服、有声书等领域。 智能语音应用开发:Suno AI 提供了一系列工具和平台,帮助开发者快速构建和部署智能语音应用。他们的开发工具包括 API 接口、SDK、开发文档等,支持多种编程语言和平台,让开发者可以轻松地集成语音功能到自己的应用中。 行业解决方案:Suno AI 为各行各业提供定制化的语音解决方案,满足客户特定的需求和业务场景。他们与零售、金融、医疗等领域的企业合作,提供智能语音客服、语音导航、语音支付等解决方案,帮助客户提升服务质量和效率。
基于matlab的射线信道模型内含数据集.zip
基于Lidar数据的概率占位栅格图(Occupancy+Grid+Map)+Python代码实现.pdf
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
flink基于flink的实时流计算web平台.zip 基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip
Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
重庆大学期末考试试卷,重大期末考试试题,试题及答案
Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示
这个资源是一对功能强大的Shell脚本,专为简化在Linux环境下的项目部署与日志查看而设计。首先,用户只需修改脚本中的Jar包名称,并赋予执行权限(使用"chmod +x xxx.sh"命令),即可轻松启动项目。通过执行"./startJar.sh"命令,用户可以快速启动Jar包,无需手动查找进程并进行kill操作,从而显著提高了部署效率,尤其适用于频繁部署或二次部署的场景。其次,为了方便用户查看项目日志,我们提供了另一个脚本"./echoLog.sh"。通过执行"./echoLog.sh"命令,用户可以轻松查看项目的实时日志,快速定位和解决问题。这些Shell脚本的使用将为您的项目管理带来极大的便利和效率提升,让您专注于项目开发和优化。
Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示
杭州电子科技大学,期末考试资料,计算机专业期末考试试卷,试卷及答案,数据结构。
基于Python实现的手写数字识别系统源码+数据集.zip已获导师指导并通过的97分的高分期末大作业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 基于Python实现的手写数字识别系统源码+数据集.zip已获导师指导并通过的97分的高分期末大作业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 基于Python实现的手写数字识别系统源码+数据集.zip已获导师指导并通过的97分的高分期末大作业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 基于Python实现的手写数字识别系统源码+数据集.zip已获导师指导并通过的97分的高分期末大作业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 基于Python实现的手写数字识别系统源码+数据集.zip已获导师指导并通过的97分的高分期末大作业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 基于Python实现的手写数字识别系统源码+数据集.zip已获导师指导并通过的97分的高分
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
A Confidence-Guided Automated System for Non-emergency Calls.pdf
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
重庆大学期末考试试卷,重大期末考试试题,试题及答案