【KEIL MDK使用AStyle程序格式化操作】
KEIL使用AStyle程序格式化操作
- 一、内容简述
- 二、AStyle下载
- 三、keli软件加载
- 1、点击Tools->Customize Tools Menu...
- 2、创新建两个Menu Content
- 四、设置功能快捷键
- 1、点击Edit->Configuration
- 2、找到Tools的两个功能分别点击Create Shortcut设置你快捷键
- 五、效果对比
一、内容简述
常常Keil会复制他人代码,直接复制会造成看着不爽的格式,于是去查找了格式化代码的方法,即安装AStyle插件,试出了格式化当前程序文件以及格式化全部程序文件的特殊属性(Arguments),并为这两个功能设置快捷键。
二、AStyle下载
点击Download直接官网下载;
解压到一个文件夹(下面要填写的)。
三、keli软件加载
1、点击Tools->Customize Tools Menu…
2、创新建两个Menu Content
第一个:格式化当前,Command为上面解压的AStyle.exe文件路径,Arguments:-pnUk1s4 --style=ansi !E
第二个:格式化全部,Command为上面解压的AStyle.exe文件路径,Arguments:-pnUk1s4 --style=ansi “E∗.c""E*.c" "E∗.c""E*.h”
到这里已经能够实现格式化代码了,但是为了更方便使用,特地为两个功能设置快捷键
四、设置功能快捷键
1、点击Edit->Configuration
2、找到Tools的两个功能分别点击Create Shortcut设置你快捷键
我分别设置的快捷键Alt+shift+D和Alt+shift+F。
五、效果对比
未格式化代码:
void Adc_Init(void)
{ GPIO_InitTypeDef GPIO_InitStructure;ADC_CommonInitTypeDef ADC_CommonInitStructure;ADC_InitTypeDef ADC_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_ADC2, ENABLE); //使能ADC1时钟//先初始化ADC1通道5 IO口GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_7;//PA5/7 通道5/7 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;//模拟输入GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//不带上下拉GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_ADC2,ENABLE); //ADC1复位RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_ADC2,DISABLE); //复位结束 ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;//独立模式ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;//两个采样阶段之间的延迟5个时钟ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; //DMA失能ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div4;//预分频4分频。ADCCLK=PCLK2/4=84/4=21Mhz,ADC时钟最好不要超过36Mhz ADC_CommonInit(&ADC_CommonInitStructure);//初始化ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;//12位模式ADC_InitStructure.ADC_ScanConvMode = DISABLE;//非扫描模式 ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//关闭连续转换ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;//禁止触发检测,使用软件触发ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//右对齐 ADC_InitStructure.ADC_NbrOfConversion = 1;//1个转换在规则序列中 也就是只转换规则序列1 ADC_Init(ADC1, &ADC_InitStructure);//ADC初始化ADC_Init(ADC2, &ADC_InitStructure);ADC_Cmd(ADC1, ENABLE);//开启AD转换器 ADC_Cmd(ADC2, ENABLE);}
格式化代码:
void Adc_Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;ADC_CommonInitTypeDef ADC_CommonInitStructure;ADC_InitTypeDef ADC_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能GPIOA时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2, ENABLE); //使能ADC1时钟//先初始化ADC1通道5 IO口GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_7; //PA5/7 通道5/7GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;//模拟输入GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//不带上下拉GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2, ENABLE); //ADC1复位RCC_APB2PeriphResetCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2, DISABLE); //复位结束ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;//独立模式ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;//两个采样阶段之间的延迟5个时钟ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; //DMA失能ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div4;//预分频4分频。ADCCLK=PCLK2/4=84/4=21Mhz,ADC时钟最好不要超过36MhzADC_CommonInit(&ADC_CommonInitStructure);//初始化ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;//12位模式ADC_InitStructure.ADC_ScanConvMode = DISABLE;//非扫描模式ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//关闭连续转换ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;//禁止触发检测,使用软件触发ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//右对齐ADC_InitStructure.ADC_NbrOfConversion = 1;//1个转换在规则序列中 也就是只转换规则序列1ADC_Init(ADC1, &ADC_InitStructure);//ADC初始化ADC_Init(ADC2, &ADC_InitStructure);ADC_Cmd(ADC1, ENABLE);//开启AD转换器ADC_Cmd(ADC2, ENABLE);}
【KEIL MDK使用AStyle程序格式化操作】相关推荐
- KEIL MDK 仿真时程序”乱跑“问题
最新有同学反应自已的程序在KEIL MDK仿真时按单步运行(F10),程序运行顺序不是按自已想要的顺序来操作的,其实这个原因多半是因为程序的编译优化等级设置较高导致: 优化等级高可以减小代码空间,很多 ...
- 关于keil MDK调整优先级程序出错的解决思路
先说一下标准:一个好的工程,基本可以做到IDE所有优化等级通吃. 关于优化和调试的问题:只要开启优化哪怕O1也不具备调试的意义了(因为变量可能在寄存器中而不是在RAM中),只能通过串口打印的方式查看变 ...
- Keil MDK打开代码折叠功能(代码折叠按钮消失的解决办法)
这是标题0.0 bug背景 解决办法: bug背景 一般在用Keil MDK软件写程序时,如果代码块内的代码太长,有时会把它折叠起来方便阅读以及快速翻页.但是我最近在写程序时发现代码折叠的按钮突然 ...
- Keil MDK在个别电脑上下载程序失败的解决办法
文章原始地址: http://feotech.com/?p=90 Keil MDK在个别电脑上无法下载程序 Keil MDK下载程序时显示 No Cortex-M SW Device Found (本 ...
- Keil MDK下载程序时的相关设置
首先我们要写一个完成的程序,然后进行编译如果没有错误的话,就可以烧录程序了,烧录程序之前,我们要进行一些设置. 首先我们要设置这个Debug,如果你使用的是ST-Link的话,就选择ST-Link D ...
- 在Keil MDK编译环境下使用UEstudio编写程序
在Keil MDK编译环境下使用UEstudio编写程序 由于一些原因目前只能使用ulink2来调试arm微处理器,因此不得不放弃iar与jlink.转入MDK的阵营后,为了减小对自己的习惯的影响,今 ...
- KEIL MDK简介,如何安装KEIL MDK下载程序
1. KEIL MDK简介 RealView MDK开发套件源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具.RealV ...
- 使用Keil MDK以及标准外设库创建STM32工程
应部分网友要求,最新加入固件库以及开发环境使用入门视频教程,同时提供例程模板,个人录制,欢迎指正.下载地址:http://dl.dbank.com/c0w0ehqynd 2013.3补充在线视频教程 ...
- Keil MDK下如何设置非零初始化变量(转)
源:Keil MDK下如何设置非零初始化变量 一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默 ...
最新文章
- 跨平台图表控件TeeChart使用教程:导入XML数据
- JQuery笔记(一)
- 英特尔高通网上打嘴仗,可看起来更像是夸自己
- 网络安全等级保护测评高风险判定指引_等保知识|测评高风险项详解:安全管理中心...
- 吉普赛人祖传的神奇读心术:你敢试吗?
- 元胞计算机系统,元胞自动机的应用
- ubuntu中vim编辑器的安装与基本使用
- latex数学符号加粗_LaTex数学公式符号整理
- 机器学习算法——神经网络6(SOM网络)
- 计算机上64位数和32位数,一不小心就蓝屏?安装win10系统和软件,你选32位还是64位?...
- mac电脑运行速度变慢的十种解决方法
- H3C 路由器中VLAN隔离
- 876. 链表的中间结点【我亦无他唯手熟尔】
- Matlab GUI编程技巧(十八)【实战一】:自定义线条图像绘制
- 杰理之IIC sclk时钟【篇】
- 浅谈RabbitMQ的基石—高级消息队列协议(AMQP)
- fatal: unable to access ‘https://github.com/NEGVS/the-economist-ebooks.git/‘: schannel: failed to re
- foj2198 Problem 2198 快来快来数一数 dp 矩阵快速幂
- 网易云放音乐加载不出来 CSDN打不开等问题 重新分配IP地址
- python实现Rot古典密码加解密
热门文章
- 3650m5服务器内存选择 ibm_重返荣耀 联想System x3650 M5服务器评测
- 后台数据管理——firebase和野狗
- 基于51单片机超声波的停车场车位管理系统proteus仿真原理图PCB
- 题目 1546: 班级排名
- ubuntu显示ip为127.0.0.1
- mysql date to long_数据库中日期字段与long转换
- 简化 java.lang.Long 类的源码
- 一个桌面弹幕软件,用来记单词刚刚好
- C++最精准的RGB-HSB(HSV)-HSL的色值转换
- 感谢韩磊为《走出软件作坊》作序