本文通过点亮led的简单例子,梳理以下如何使用stm32开发工具keil建立工程。
假设你手里有stm32的开发板。
建立一个存放工程的文件夹,命名为led。
打开开发工具keil,project-new,建立工程。
工程存放位置选择上面创建的文件夹,存储。
根据手上开放板的芯片型号,选择对应的stm32芯片。
提示“复制汇编文件startup_stm32f10x_md.s到项目文件夹,并添加到项目”,选择“是”,这样keil就帮我们建立了启动文件。
点击new按钮,建立一个文本文件。
输入c语言中的main函数,ctrl+s保存到led文件夹下。
工程文件夹上右键,将文件添加到工程中。
main.c出现在了工程目录中,如下图。
在main.c中添加systeminit函数。
保存后,编译,程序没有报错,stm32的工程建立完成了。
复制下面的代码,粘贴到systeminit函数中。
#define periph_base ((unsigned int)0x40000000)#define apb2periph_base (periph_base + 0x10000)#define gpioa_base (apb2periph_base + 0x0800)#define gpiob_base (apb2periph_base + 0x0c00)#define gpioc_base (apb2periph_base + 0x1000)#define gpiod_base (apb2periph_base + 0x1400)#define gpioe_base (apb2periph_base + 0x1800)#define gpiof_base (apb2periph_base + 0x1c00)#define gpiog_base (apb2periph_base + 0x2000)#define gpioa_odr_addr (gpioa_base+12) //0x4001080c #define gpiob_odr_addr (gpiob_base+12) //0x40010c0c #define gpioc_odr_addr (gpioc_base+12) //0x4001100c #define gpiod_odr_addr (gpiod_base+12) //0x4001140c #define gpioe_odr_addr (gpioe_base+12) //0x4001180c #define gpiof_odr_addr (gpiof_base+12) //0x40011a0c #define gpiog_odr_addr (gpiog_base+12) //0x40011e0c #define bitband(addr, bitnum) ((addr & 0xf0000000)+0x2000000+((addr &0xfffff)<<5)+(bitnum
单击魔术棒,点开配置选项。
在“create hex file”上打勾。
在这里用的是j-link仿真器。
点击“build”,如果“0 warnings,0errors”,就可以点击“load”下载程序到开发板观察效果。
原文标题:stm32入门-建立点亮led的工程
文章出处:【微信公众号:stm32嵌入式开发】欢迎添加关注!文章转载请注明出处。
意大利消费品展|德国消费品展会|意大利马契夫秋季国际博览会
中灰镜和中灰渐变镜在使用上有什么区别:
射频能量收集的无线电源IC解决方案
新能源汽车无线充电技术的应用
物联网技术在建筑行业的优势分析
实例介绍如何使用STM32开发工具Keil建立工程
中国石化与晶瑞电材合作推动集成电路用异丙醇国产化
表面清洁度检测仪有效解决喷涂NPT聚脲磨防腐材料起皮、脱落现象的原因分析和处理办法
打破单片机开发模式--胶水语言(JavaScript)
微型热保护器在工业电伴热保温套的应用
DPU54—低功耗4口全速USB集线器芯片
【世说设计】是否可以使用仪表放大器测量两个光源之间的差异?
2022年全球运动控制市场规模将达到228.4亿美元
基于深度学习的图像边缘和轮廓提取方案解析
MCU芯片的概念和特点 MCU芯片的结构和应用
如何预防电动机烧毁
丘钛科技发布2018年业绩报告,称2018年全年实现收入81.35亿元
智能楼宇lora芯片ASR6601是一种通用的LPWAN无线通信SoC 32位RISC单片机
MAX664引脚配置与内部框图
黑芝麻智能能否成为中国自动驾驶芯片第一股?