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

相关推荐
AndyHeee4 天前
【SVC、PendSV(系统异常) 与 外设 IRQ 、NVIC笔记】
arm开发
暮云星影5 天前
瑞芯微rk3588利用Rockchip NPU运行大语言模型(LLM)
arm开发·人工智能·语言模型·自然语言处理
techdashen5 天前
绕过系统 ICMP:用 rawsock、Npcap 和 WMI 找到默认网卡
开发语言·arm开发·rust
振南的单片机世界5 天前
ARM中断比51快在哪?硬件压栈+NVIC集中管理
arm开发·stm32·单片机·嵌入式硬件
墨绿色的摆渡人5 天前
论文笔记(一百三十七)Learning Dual-Arm Push and Grasp Synergy in Dense Clutter
arm开发·论文阅读
暮云星影5 天前
全志linux开发屏幕适配(一)屏幕参数设置说明
linux·arm开发
m0_547486665 天前
《ARM Cortex-M4嵌入式应用技术——基于STM32F407、STM32CubeMX与Proteus》全套PPT课件
arm开发·stm32·proteus
Lanceli_van5 天前
SQLite 3.45.2(sqlite-autoconf-3450200)ARM 交叉编译完整步骤
arm开发·sqlite
暮云星影5 天前
全志linux开发屏幕适配(二)`HDMI`驱动适配说明
linux·arm开发·驱动开发
暮云星影5 天前
瑞芯微rk3566开发FIT Secure Boot
linux·arm开发·驱动开发·安全