Keil5使用心得以及知识总结

简介: Keil5使用心得以及知识总结

在这个文件中存储我在学习过程中遇到的一些问题

core目录:启动文件目录核心目录

User:主程序的调用目录

Lib:库文件的存储目录

System:正点原子的通用库函数

HANDWARE:个人程序存储目录

README:问题收集目录

软件使用:创建完工程文件过后设置烧录器

debug选项中sw下载模式10m左右,flash选项中选择reset and run

output里面三个选项全部打勾生成hex文件方便使用ch340烧录器下载

包含创建的新目录在c/c++下面的include path下面包含目录

STM32的I0口相比51而言要复杂得多,所以使用起来也困难很多。

首先STM32的I0口可以由软件配置成如下8种模式:

输入模式

-输入浮空(GPIO_Mode_IN_FLOATING)

-输入上拉(GPIO_Mode_IPU)

-输入下拉(GPIO_Mode_IPD)

-模拟输入(GPIO_Mode_AIN)

输出模式

-开漏输出(GPIO_Mode_Out_OD)

-开漏复用功能(GPIO_Mode_AF_OD)

-推挽式输出(GPIO_Mode_Out_PP)

-推挽式复用功能(GPIO_Mode_AF_PP)

Keil窗口布局打乱了点击Window->Reset View to Defaults即可恢复默认窗口布局

”…\OBJ\Temp.axf: Error: L6218E: Undefined symbol KEY_TaskLed (referred from main.o).

Not enough information to list image symbols.“

报这个错误表示工程目录中没有添加这个文件也就是在软件中添加

…\HANDWARE\KEY\KEY.c(68): error: #268: declaration may not appear after executable statement in block

定义变量不可以在可执行程序过后

…\HANDWARE\KEY\KEY.c(81): warning: #1-D: last line of file ends without a newline

提示程序最后一行没有回车这是keil5的bug

extern 表示申明函数不是定义函数,表示在其他模块里面寻找这个变量

typedef 定义可以多重定义define和这个有点像但是typedef是专门定义类型的

触摸按键ttp223默认输出低电平触摸输出高电平

stm32有8个16位定时器分成3个组;

基本定时器(TIM6,TIM7)的主要功能:

只有最基本的定时功能,。基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动

通用定时器(TIM2~TIM5)的主要功能:

除了基本的定时器的功能外,还具有测量输入信号的脉冲长度( 输入捕获) 或者产生输出波形( 输出比较和PWM)

高级定时器(TIM1,TIM8)的主要功能:

高级定时器不但具有基本,通用定时器的所有的功能,还具有控制交直流电动机所有的功能,你比如它可以输出6路互补带死区的信号,刹车功能等等

相关文章
|
9月前
|
小程序
续:将基于Nasm汇编的打字小游戏,移植到DOSBox
前情提要 上一篇:【编程实践】黑框框里的打字小游戏,但是汇编语言-CSDN博客 在上一篇文章中我对这个小程序进行了介绍,但由于运行环境的安装比较复杂,估计没有谁会将我的代码跑起来,可那样实在是太遗憾了。学习过汇编语言的你大概率是使用过DOSBox的,为此我献祭了2小时的宝贵生命,成功地将代码在DOS上跑起来了。 如果对具体移植过程不感兴趣,可以直接跳到运行体验部分。
131 0
|
6月前
|
数据安全/隐私保护
嵌入式编程工具MDK5.14安装包及安装教程
该文档提供了嵌入式编程工具MDK5.14的安装包及安装教程,包括了Pack包的安装步骤。
112 3
一文教你学会keil软件仿真
一文教你学会keil软件仿真
828 1
|
9月前
|
移动开发 API 开发者
windows开发技术 mfc浅谈
windows开发技术 mfc浅谈
《C++避坑神器·九》小白也能轻易掌握动态链接库DLL的使用
《C++避坑神器·九》小白也能轻易掌握动态链接库DLL的使用
188 0
|
Android开发 芯片
【致敬未来的攻城狮计划】--RA2E1 开发板测评(1)keil环境配置
【致敬未来的攻城狮计划】--RA2E1 开发板测评(1)keil环境配置
210 0
easyX配套VC++(easyx安装及vc/vs安装)一招让你的代码黑框更多彩
/x,y用具体数值表示例如initgraph(500,500);就是初始化一个500*500像素大小的画布第一个数值为宽,第二个数值为高,第三个值为窗口样式值EW_DBLCLKS //在绘图窗口中支持鼠标双击事件EW_NOCLOSE //禁用绘图窗口的关闭按钮EW_NOMINIMIZE //禁用绘图窗口的最小化按钮。
|
物联网 Linux 编译器
海思3559开发环境搭建:从这里开始
海思的文档已经非常详细了,分门别类详尽整齐。但是对于刚刚接手的开发者而言,每次编译都不得不从一个文档看到另一个文档,再是另一个文档,跳来跳去又跳到readme……这一过程实在是繁琐之至。为了是这一过程清晰并且一目了然,在此整理出整个编译过程(以Hi3559AV100为例),给自己也给其他用到海思SDK的人提供方便之门。
1492 0
|
编解码 C语言 开发者
应用实战精解系列(十五):基于RVB2601移植U8g2图形库
应用实战精解系列(十五):基于RVB2601移植U8g2图形库
882 0
应用实战精解系列(十五):基于RVB2601移植U8g2图形库
|
IDE 开发工具 Android开发
AndroidStudio是最难用的IDE,没有之一
AndroidStudio是最难用的IDE,没有之一
348 0