ARM点灯---看手册

知识点:

一个程序可能会遇到内存泄漏问题,可能一次运行泄漏几M大小,执行几个小时才会泄漏到站崩溃,所以要查看是否有内存泄漏。

查看手册教程

0927-上午 视频1:25;00

硬件程序开发流程

最小系统:单片机、晶振电路、电源电路、复位电路、内存 flush、

第一步:

1.看开发板丝印

丝印找对应原理图引脚

第二步:

在原理图底板和核心板找到对应引脚和GPIO口

第三步:

找到对应引脚

第四步:

读手册,一般引脚操作就先

第五步:

keil4编写代码

#define GPGCON_KEY (*( volatile unsigned long *)0x56000060UL)

#define GPGDAT_KEY (*( volatile unsigned long *)0x56000064UL)

写成宏定义有助于程序的编写

GPGDAT_KEY:自己设计的宏名

volatile关键字:

unsigned long:无符号是因为地址都为正数,long是因为32位操作系统long为4个字节,64位操作系统,long为8个字节,如果写int 32位64位都是4字节,不同操作系统地址存放也不一样,所以为unsigned long型

UL:表示这个数是无符号长整型(别人一看就知道)

第六步:

对CON、DAT两个部分进行位操作,规则参考第四步

将按键状态值封装成函数,返回值表示dat值,获取到dat值

main.c点灯代码

视频知识点:

GPB5配置

地址写入值

先强转为指针,再修改其值

0x56000010硬件地址(寄存器),与cpu中真正的寄存器不一样,那是真正的寄存器 这里只是硬件地址

UL表示无符号长整型

volatile关键字 易失性修饰

cash缓存

烧录程序

keil4软件烧录前配置

0927下午 00:30

相关推荐
切糕师学AI1 小时前
ARM 架构中的数据同步屏障(DSB)是什么?
arm开发·架构·数据同步·屏障
Ivy_belief2 小时前
Linux:设置和获取单片机gpio引脚和key值
linux·arm开发·qt·gpio·event事件
徐某人..19 小时前
网络编程学习--第一天
arm开发·单片机·学习·arm
嘻哈baby21 小时前
WireGuard为何取代IPSec成为Linux内核首选:协议架构与性能实测
linux·arm开发·架构
物随心转1 天前
给arm的cpu设置为user模式
arm开发
切糕师学AI1 天前
ARM架构程序状态寄存器(PSR)详解:从基础概念到现代实现
arm开发·架构·嵌入式·程序状态寄存器·psr
猫猫的小茶馆1 天前
【ARM】VSCode和IAR工程创建
c语言·开发语言·arm开发·ide·vscode·stm32·嵌入式硬件
物随心转1 天前
Arm的协处理器
linux·arm开发
咨询QQ:4877392781 天前
Matlab图像去噪处理:还图像一片清晰天地
arm开发
yumgpkpm1 天前
Hadoop 与AI大模型实战:从Hive、Impala(Cloudera CDH、CDP)海量数据到 AI 决策的落地方法
arm开发·人工智能·hive·zookeeper·flink·kafka·cloudera