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程序格式化操作】相关推荐

  1. KEIL MDK 仿真时程序”乱跑“问题

    最新有同学反应自已的程序在KEIL MDK仿真时按单步运行(F10),程序运行顺序不是按自已想要的顺序来操作的,其实这个原因多半是因为程序的编译优化等级设置较高导致: 优化等级高可以减小代码空间,很多 ...

  2. 关于keil MDK调整优先级程序出错的解决思路

    先说一下标准:一个好的工程,基本可以做到IDE所有优化等级通吃. 关于优化和调试的问题:只要开启优化哪怕O1也不具备调试的意义了(因为变量可能在寄存器中而不是在RAM中),只能通过串口打印的方式查看变 ...

  3. Keil MDK打开代码折叠功能(代码折叠按钮消失的解决办法)

    这是标题0.0 bug背景 解决办法: bug背景   一般在用Keil MDK软件写程序时,如果代码块内的代码太长,有时会把它折叠起来方便阅读以及快速翻页.但是我最近在写程序时发现代码折叠的按钮突然 ...

  4. Keil MDK在个别电脑上下载程序失败的解决办法

    文章原始地址: http://feotech.com/?p=90 Keil MDK在个别电脑上无法下载程序 Keil MDK下载程序时显示 No Cortex-M SW Device Found (本 ...

  5. Keil MDK下载程序时的相关设置

    首先我们要写一个完成的程序,然后进行编译如果没有错误的话,就可以烧录程序了,烧录程序之前,我们要进行一些设置. 首先我们要设置这个Debug,如果你使用的是ST-Link的话,就选择ST-Link D ...

  6. 在Keil MDK编译环境下使用UEstudio编写程序

    在Keil MDK编译环境下使用UEstudio编写程序 由于一些原因目前只能使用ulink2来调试arm微处理器,因此不得不放弃iar与jlink.转入MDK的阵营后,为了减小对自己的习惯的影响,今 ...

  7. KEIL MDK简介,如何安装KEIL MDK下载程序

    1. KEIL MDK简介 RealView MDK开发套件源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具.RealV ...

  8. 使用Keil MDK以及标准外设库创建STM32工程

    应部分网友要求,最新加入固件库以及开发环境使用入门视频教程,同时提供例程模板,个人录制,欢迎指正.下载地址:http://dl.dbank.com/c0w0ehqynd 2013.3补充在线视频教程 ...

  9. Keil MDK下如何设置非零初始化变量(转)

    源:Keil MDK下如何设置非零初始化变量 一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备.而keil mdk在默 ...

最新文章

  1. 跨平台图表控件TeeChart使用教程:导入XML数据
  2. JQuery笔记(一)
  3. 英特尔高通网上打嘴仗,可看起来更像是夸自己
  4. 网络安全等级保护测评高风险判定指引_等保知识|测评高风险项详解:安全管理中心...
  5. 吉普赛人祖传的神奇读心术:你敢试吗?
  6. 元胞计算机系统,元胞自动机的应用
  7. ubuntu中vim编辑器的安装与基本使用
  8. latex数学符号加粗_LaTex数学公式符号整理
  9. 机器学习算法——神经网络6(SOM网络)
  10. 计算机上64位数和32位数,一不小心就蓝屏?安装win10系统和软件,你选32位还是64位?...
  11. mac电脑运行速度变慢的十种解决方法
  12. H3C 路由器中VLAN隔离
  13. 876. 链表的中间结点【我亦无他唯手熟尔】
  14. Matlab GUI编程技巧(十八)【实战一】:自定义线条图像绘制
  15. 杰理之IIC sclk时钟【篇】
  16. 浅谈RabbitMQ的基石—高级消息队列协议(AMQP)
  17. fatal: unable to access ‘https://github.com/NEGVS/the-economist-ebooks.git/‘: schannel: failed to re
  18. foj2198 Problem 2198 快来快来数一数 dp 矩阵快速幂
  19. 网易云放音乐加载不出来 CSDN打不开等问题 重新分配IP地址
  20. python实现Rot古典密码加解密

热门文章

  1. 3650m5服务器内存选择 ibm_重返荣耀 联想System x3650 M5服务器评测
  2. 后台数据管理——firebase和野狗
  3. 基于51单片机超声波的停车场车位管理系统proteus仿真原理图PCB
  4. 题目 1546: 班级排名
  5. ubuntu显示ip为127.0.0.1
  6. mysql date to long_数据库中日期字段与long转换
  7. 简化 java.lang.Long 类的源码
  8. 一个桌面弹幕软件,用来记单词刚刚好
  9. C++最精准的RGB-HSB(HSV)-HSL的色值转换
  10. 感谢韩磊为《走出软件作坊》作序