在线时间1021 小时
UID299704
注册时间2011-6-18
NXP金币2251
TA的每日心情 | 开心 昨天 16:53 |
---|
签到天数: 1338 天 [LV.10]以坛为家III
版主
- 积分
- 9065
- 最后登录
- 2024-5-10
|
LPC812最小可行系统 LPC812的片上资源非常有限,虽然其仍然可以运行许多RTOS或物联网OS,但我终究还是将其定位于小模块级别,即完成单一功能,可有一定的复杂度算法支撑。
基于上述应用背景,我们首先构建最小运行系统。主要包括系统时钟初始化,Systick时基时钟设定,GPIO控制LED灯。本次DIY开发使用Keil开发环境,使用git做为版本管理工具软件。
我们在Keil中安装LPC812的Pack,然后,选择LPC812M101J芯片型号。
将官方的LPCopen库导入到工程中,主要包括来自ARM的CMSIS标准头文件和来自NXP的lib库文件。
接下来,我们需要自(can)已(kao)编写时钟初始化代码。之后,再编写main.c文件,初始化GPIO和systick,并通过systick实现延迟功能,控制LED的闪烁。代码如下:
- int main(void)
- {
- uint8_t led_vale = 0;
- // SystemCoreClockUpdate();
- GPIOInit();
- GPIOSetDir(0, 1, 1);
- SysTick_Config(30000);
- while (1)
- {
- if (time_line_ms > 500)
- {
- time_line_ms = 0;
- if (led_vale == 0)
- {
- GPIOSetBitValue(0, 1, 0);
- led_vale = 1;
- }
- else
- {
- GPIOSetBitValue(0, 1, 1);
- led_vale = 0;
- }
- };
- }
- }
复制代码 编译,查看编译结果及map文件内容。
- ==============================================================================
- Code (inc. data) RO Data RW Data ZI Data Debug
- 844 92 224 4 1028 26575 Grand Totals
- 844 92 224 4 1028 26575 ELF Image Totals
- 844 92 224 4 0 0 ROM Totals
- ==============================================================================
- Total RO Size (Code + RO Data) 1068 ( 1.04kB)
- Total RW Size (RW Data + ZI Data) 1032 ( 1.01kB)
- Total ROM Size (Code + RO Data + RW Data) 1072 ( 1.05kB)
- ==============================================================================
复制代码 下载到LPC812开发板,看看效果。
效果符合预期,代码push到master分支,作为第一次commit提交吧!
|
|