文件编码修正

This commit is contained in:
ecol 2020-05-27 00:57:57 +08:00
parent 343f91aeb3
commit e196397f35
7 changed files with 2317 additions and 130 deletions

View File

@ -0,0 +1,389 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<WORKSPACE>
<FRAME activewindow="0">
<PLACEMENT>2c0000000200000003000000ffffffffffffffffffffffffffffffff440000000d00000060060000ff030000</PLACEMENT>
<WINDOW type="default" module="ISIS"/>
</FRAME>
<MODULE name="VSMDEBUG">
<PWI>
<POPUP w="800" x="48" flags="00000002" y="160" h="200" pid="0" iid="-1">
<PROPERTIES>
<ITEM name="Message Column Width">540</ITEM>
<ITEM name="ShowGrid">No</ITEM>
<ITEM name="Source Column Width">100</ITEM>
<ITEM name="Time Column Width">120</ITEM>
<ITEM name="Version">100</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="350" x="68" flags="00000032" y="180" h="200" pid="1" iid="-1">
<PROPERTIES>
<ITEM name="Address Column Width">82</ITEM>
<ITEM name="AutoResize">No</ITEM>
<ITEM name="Gridlines">Yes</ITEM>
<ITEM name="Name Column Width">82</ITEM>
<ITEM name="ShowAddresses">Yes</ITEM>
<ITEM name="ShowPreviousValues">No</ITEM>
<ITEM name="ShowTypes">No</ITEM>
<ITEM name="ShowWatchPoint">Yes</ITEM>
<ITEM name="TriggerMode">0</ITEM>
<ITEM name="Value Column Width">82</ITEM>
<ITEM name="Version">100</ITEM>
<ITEM name="Watch Expression Column Width">82</ITEM>
<ITEM name="nItems">0</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="610" x="88" flags="00000001" y="200" h="472" pid="0" iid="15">
<PROPERTIES/>
</POPUP>
<POPUP w="695" x="108" flags="00000001" y="220" h="459" pid="0" iid="14">
<PROPERTIES/>
</POPUP>
<POPUP w="450" x="128" flags="00000023" y="240" h="250" pid="0" iid="16">
<PROPERTIES>
<ITEM name="AutoEcho">0</ITEM>
<ITEM name="HexMode">0</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="450" x="148" flags="00000023" y="260" h="250" pid="0" iid="22">
<PROPERTIES>
<ITEM name="AutoEcho">0</ITEM>
<ITEM name="HexMode">0</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="168" flags="0000000a" y="280" h="32" pid="200" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">08000000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="188" flags="0000000a" y="300" h="32" pid="210" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">20000000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="208" flags="0000000a" y="320" h="32" pid="220" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40012400</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="228" flags="0000000a" y="340" h="32" pid="230" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40012800</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="248" flags="0000000a" y="360" h="32" pid="240" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40012C00</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="268" flags="0000000a" y="380" h="32" pid="250" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40021000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="288" flags="0000000a" y="400" h="32" pid="260" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40010400</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="308" flags="0000000a" y="420" h="32" pid="270" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40007000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="328" flags="0000000a" y="440" h="32" pid="280" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40010800</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="348" flags="0000000a" y="460" h="32" pid="290" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40010C00</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="368" flags="0000000a" y="480" h="32" pid="300" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40011000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="388" flags="0000000a" y="500" h="32" pid="310" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40011400</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="408" flags="0000000a" y="520" h="32" pid="320" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40013800</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="428" flags="0000000a" y="540" h="32" pid="330" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40004400</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="448" flags="0000000a" y="560" h="32" pid="340" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40013000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="468" flags="0000000a" y="580" h="32" pid="190" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40005400</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="488" flags="0000000a" y="600" h="32" pid="360" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40000000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="508" flags="0000000a" y="620" h="32" pid="370" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40000400</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="528" flags="0000000a" y="640" h="32" pid="380" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40005C00</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="548" flags="0000000a" y="660" h="32" pid="410" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">E000E000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="568" flags="0000000a" y="680" h="32" pid="420" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40022000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="588" flags="0000000a" y="700" h="32" pid="430" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40020000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="608" flags="0000000a" y="720" h="32" pid="440" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40010000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="628" flags="0000000a" y="740" h="32" pid="450" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40002800</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="648" flags="0000000a" y="760" h="32" pid="460" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40006000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="668" flags="0000000a" y="780" h="32" pid="470" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40003000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="688" flags="0000000a" y="800" h="32" pid="480" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40002C00</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="708" flags="0000000a" y="820" h="32" pid="490" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40023000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="728" flags="0000000a" y="840" h="32" pid="500" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">40006C00</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="748" flags="0000000a" y="860" h="32" pid="510" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">E000E000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="600" x="768" flags="0000002b" y="630" h="400" pid="100" iid="1">
<PROPERTIES>
<ITEM name="CaseSensitive">No</ITEM>
<ITEM name="DISPADDRS">Yes</ITEM>
<ITEM name="DISPLNUMS">No</ITEM>
<ITEM name="DISPOPCODES">No</ITEM>
<ITEM name="FIXUPBPTS">Yes</ITEM>
<ITEM name="WordsOnly">No</ITEM>
<ITEM name="nBreakpoints">0</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="300" x="788" flags="0000000b" y="730" h="300" pid="101" iid="1">
<PROPERTIES>
<ITEM name="Address Column Width">93</ITEM>
<ITEM name="AutoResize">No</ITEM>
<ITEM name="Gridlines">Yes</ITEM>
<ITEM name="Name Column Width">93</ITEM>
<ITEM name="ShowAddresses">Yes</ITEM>
<ITEM name="ShowGlobals">Yes</ITEM>
<ITEM name="ShowPreviousValues">No</ITEM>
<ITEM name="ShowTypes">No</ITEM>
<ITEM name="ShowWatchPoint">No</ITEM>
<ITEM name="TriggerMode">0</ITEM>
<ITEM name="Value Column Width">93</ITEM>
<ITEM name="Version">100</ITEM>
<ITEM name="nItems">0</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="258" x="808" flags="00000008" y="920" h="216" pid="102" iid="1">
<PROPERTIES/>
</POPUP>
<POPUP w="194" x="828" flags="00000008" y="940" h="281" pid="191" iid="1">
<PROPERTIES/>
</POPUP>
</PWI>
</MODULE>
</WORKSPACE>

1798
Project/SY4.uvguix.dell Normal file

File diff suppressed because one or more lines are too long

View File

@ -9,9 +9,9 @@
u8 flag = 0;
/**-------------------------------------------------------
* @函数名 KEY_INIT
* @功能 按键初始化
* @返回值 无
* @函数名 KEY_INIT
* @功能 按键初始化
* @返回值 无
***------------------------------------------------------*/
void KEY_INIT()
{
@ -20,23 +20,23 @@ void KEY_INIT()
}
/**-------------------------------------------------------
* @函数名 KEY_GPIO_INIT
* @功能 按键GPIO初始化
* @返回值 无
* @函数名 KEY_GPIO_INIT
* @功能 按键GPIO初始化
* @返回值 无
***------------------------------------------------------*/
void KEY_GPIO_INIT(){
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(KEY_CLOCK, ENABLE); //使能对应端口时钟
RCC_APB2PeriphClockCmd(KEY_CLOCK, ENABLE); //使能对应端口时钟
GPIO_InitStructure.GPIO_Pin = KEY_Pin;//KEY_Pin
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
GPIO_Init(KEY_PORT, &GPIO_InitStructure);//初始化key_GPIO
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
GPIO_Init(KEY_PORT, &GPIO_InitStructure);//初始化key_GPIO
}
/**-------------------------------------------------------
* @函数名 KEY_NVIC_INIT
* @功能 按键按下时为低电平0
* @返回值 无
* @函数名 KEY_NVIC_INIT
* @功能 按键按下时为低电平0
* @返回值 无
***------------------------------------------------------*/
void KEY_NVIC_INIT()
{
@ -45,72 +45,72 @@ void KEY_NVIC_INIT()
/* 初始化KEY按键为中断模式 */
/* 初始化KEY按键为中断模式 */
/* Connect Button EXTI Line to Button GPIO Pin */
/* 将KEY按键对应的管脚连接到内部中断线 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //使能复用功能时钟
/* 将KEY按键对应的管脚连接到内部中断线 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //使能复用功能时钟
//GPIOE.2 中断线以及中断初始化配置 下降沿触发
//GPIOE.2 中断线以及中断初始化配置 下降沿触发
GPIO_EXTILineConfig(KEY_PORT_SOURCE,KEY_PIN_SOURCE);
EXTI_InitStructure.EXTI_Line=KEY_EXIT_LINE; //KEY2
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器
EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器
/* Enable and set Button EXTI Interrupt to the lowest priority */
NVIC_InitStructure.NVIC_IRQChannel = KEY_NVIC_IRQChannel; //使能按键WK_UP所在的外部中断通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2,
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00; //子优先级0
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
NVIC_InitStructure.NVIC_IRQChannel = KEY_NVIC_IRQChannel; //使能按键WK_UP所在的外部中断通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2,
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00; //子优先级0
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
NVIC_Init(&NVIC_InitStructure);
}
/**-------------------------------------------------------
* @函数名 EXTI3_IRQHandler
* @功能 处理外部中断线3的中断,按键1中断处理函数
* @参数 无
* @返回值 无
* @函数名 EXTI3_IRQHandler
* @功能 处理外部中断线3的中断,按键1中断处理函数
* @参数 无
* @返回值 无
***------------------------------------------------------*/
void KEY_NVIC_Handler(void) /* Key 1 */
{
if(EXTI_GetITStatus(KEY_EXIT_LINE) != RESET)
{
/* 延迟去抖 */
/* 延迟去抖 */
delay(150);
if(KEY == 0)
{
/*改变系统工作标志*/
/*改变系统工作标志*/
flag = !flag;
printf("\r\n开关状态改变为:%d\r\n",!flag);
/* 改变指示灯状态 */
printf("\r\n开关状态改变为:%d\r\n",!flag);
/* 改变指示灯状态 */
if(!flag){
LED_SYS_ON();
ADCx_Init();
TIM_Cmd(TIM2, ENABLE); //使能TIM2
TIM_Cmd(TIM3, ENABLE); //使能TIM3
TIM_Cmd(TIM2, ENABLE); //使能TIM2
TIM_Cmd(TIM3, ENABLE); //使能TIM3
}else {
LED_SYS_OFF();
ADC_Cmd(ADC_x, DISABLE);
ADC_DMACmd(ADC_x, DISABLE);
TIM_Cmd(TIM2, DISABLE); //使能TIM2
TIM_Cmd(TIM3, DISABLE); //使能TIM3
TIM_Cmd(TIM2, DISABLE); //使能TIM2
TIM_Cmd(TIM3, DISABLE); //使能TIM3
}
}
/* 等待按键释放 */
/* 等待按键释放 */
while(KEY == 0);
/* 延迟去抖 */
/* 延迟去抖 */
delay(150);
/* Clear the EXTI Line 4 */
/* 清除中断挂起标志位,否则会被认为中断没有被处理而循环再次进入中断 */
/* 清除中断挂起标志位,否则会被认为中断没有被处理而循环再次进入中断 */
EXTI_ClearITPendingBit(KEY_EXIT_LINE);
}
}

View File

@ -1,37 +1,37 @@
#include "Led.h"
/**-------------------------------------------------------
* @函数名 LED_GPIO_INIT
* @功能 LED GPIO初始化
* @返回值 无
* @函数名 LED_GPIO_INIT
* @功能 LED GPIO初始化
* @返回值 无
***------------------------------------------------------*/
void LED_GPIO_INIT(void){
GPIO_InitTypeDef GPIO_InitStructure;
/* 使能LED对应GPIO的时钟 */
RCC_APB2PeriphClockCmd(LED_CLOCK|LED_SYS_CLOCK, ENABLE); //使能对应端口时钟
/* 使能LED对应GPIO的时钟 */
RCC_APB2PeriphClockCmd(LED_CLOCK|LED_SYS_CLOCK, ENABLE); //使能对应端口时钟
/* 初始化LED的GPIO管脚,配置为推挽输出 */ //设置端口
GPIO_InitStructure.GPIO_Pin = LED_Pin_ALL; //LED所有引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置为推挽(Push-Pull)输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //最大输出速度为50MHz
GPIO_Init(LED_PORT, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(LED_PORT,LED_Pin_ALL); //led全灭
/* 初始化LED的GPIO管脚,配置为推挽输出 */ //设置端口
GPIO_InitStructure.GPIO_Pin = LED_Pin_ALL; //LED所有引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置为推挽(Push-Pull)输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //最大输出速度为50MHz
GPIO_Init(LED_PORT, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_SetBits(LED_PORT,LED_Pin_ALL); //led全灭
/* 初始化LED的GPIO管脚,配置为推挽输出 */ //设置端口
GPIO_InitStructure.GPIO_Pin = LED_SYS_Pin; //LED所有引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置为推挽(Push-Pull)输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //最大输出速度为50MHz
GPIO_Init(LED_SYS_PORT, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_ResetBits(LED_SYS_PORT,LED_SYS_Pin); //点亮系统指示灯
/* 初始化LED的GPIO管脚,配置为推挽输出 */ //设置端口
GPIO_InitStructure.GPIO_Pin = LED_SYS_Pin; //LED所有引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置为推挽(Push-Pull)输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //最大输出速度为50MHz
GPIO_Init(LED_SYS_PORT, &GPIO_InitStructure); //调用GPIO初始化函数
GPIO_ResetBits(LED_SYS_PORT,LED_SYS_Pin); //点亮系统指示灯
}
/**-------------------------------------------------------
* @函数名 LED_ON
* @功能 点亮指定LED LED0,1,2,3
* @返回值 无
* @函数名 LED_ON
* @功能 点亮指定LED LED0,1,2,3
* @返回值 无
***------------------------------------------------------*/
void LED_ON(u8 n){
uint16_t GPIO_PIN_LIST[]={LED2_Pin,LED3_Pin,LED4_Pin,LED5_Pin};
@ -45,9 +45,9 @@ void LED_ON(u8 n){
}
/**-------------------------------------------------------
* @函数名 LED_OFF
* @功能 关闭所有LED
* @返回值 无
* @函数名 LED_OFF
* @功能 关闭所有LED
* @返回值 无
***------------------------------------------------------*/
void LED_OFF(void){
uint16_t GPIO_PIN_LIST[]={LED2_Pin,LED3_Pin,LED4_Pin,LED5_Pin};

View File

@ -12,16 +12,16 @@
#define LED_PORT GPIOA
#define LED_CLOCK RCC_APB2Periph_GPIOA
//系统状态指示灯
//系统状态指示灯
#define LED_SYS_Pin GPIO_Pin_11
#define LED_SYS_PORT GPIOA
#define LED_SYS_CLOCK RCC_APB2Periph_GPIOA
//函数声明
//函数声明
#define LED_SYS_ON() GPIO_ResetBits(LED_SYS_PORT,LED_SYS_Pin)
#define LED_SYS_OFF() GPIO_SetBits(LED_SYS_PORT,LED_SYS_Pin)
void LED_GPIO_INIT(void);//LED GPIO初始化
void LED_ON(u8 n);//点亮指定LED LED0,1,2,3
void LED_OFF(void);//关闭所有LED
void LED_GPIO_INIT(void);//LED GPIO初始化
void LED_ON(u8 n);//点亮指定LED LED0,1,2,3
void LED_OFF(void);//关闭所有LED
#endif

View File

@ -11,49 +11,49 @@ u8 leddat = 3;
/**-------------------------------------------------------
* @函数名 TIM2_INIT
* @功能 通用定时器2中断初始化
* @参数 arr:自动重装值。psc:时钟预分频数
* @返回值 无
* @函数名 TIM2_INIT
* @功能 通用定时器2中断初始化
* @参数 arr:自动重装值。psc:时钟预分频数
* @返回值 无
***------------------------------------------------------*/
void TIM2_INIT(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //时钟使能
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //时钟使能
//定时器TIM2初始化
TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位
//定时器TIM2初始化
TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE ); //使能指定的TIM2中断,允许更新中断
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE ); //使能指定的TIM2中断,允许更新中断
//中断优先级NVIC设置
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; //TIM2中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //从优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //初始化NVIC寄存器
//中断优先级NVIC设置
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; //TIM2中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //从优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //初始化NVIC寄存器
TIM_Cmd(TIM2, ENABLE); //使能TIMx
TIM_Cmd(TIM2, ENABLE); //使能TIMx
}
/**-------------------------------------------------------
* @函数名 TIM2_IRQHandler
* @功能 定时器2中断服务程序
* @返回值 无
* @函数名 TIM2_IRQHandler
* @功能 定时器2中断服务程序
* @返回值 无
***------------------------------------------------------*/
void TIM2_IRQHandler(void) //TIM2中断
void TIM2_IRQHandler(void) //TIM2中断
{
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) //检查TIM2更新中断发生与否
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) //检查TIM2更新中断发生与否
{
TIM_ClearITPendingBit(TIM2, TIM_IT_Update ); //清除TIMx更新中断标志
TIM_ClearITPendingBit(TIM2, TIM_IT_Update ); //清除TIMx更新中断标志
if(flag){
//LED_OFF();
LED_ON(leddat<3?++leddat:(leddat=0));
@ -77,74 +77,74 @@ void TIM2_IRQHandler(void) //TIM2中断
/**-------------------------------------------------------
* @函数名 TIM3_PWM_INIT
* @功能 TIM3 PWM部分初始化
* @参数 arr:自动重装值。psc:时钟预分频数
* @返回值 无
* @函数名 TIM3_PWM_INIT
* @功能 TIM3 PWM部分初始化
* @参数 arr:自动重装值。psc:时钟预分频数
* @返回值 无
***------------------------------------------------------*/
void TIM3_PWM_INIT(u16 arr,u16 psc)
{
// 开启定时器时钟,即内部时钟CK_INT=72M
// 开启定时器时钟,即内部时钟CK_INT=72M
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
/* 使能时钟 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能对应端口时钟
/*---------------------GPIO_A7初始化 START----------------------------------------*/
/* 使能时钟 */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能对应端口时钟
/*---------------------GPIO_A7初始化 START----------------------------------------*/
/* 初始化LED的GPIO管脚,配置为推挽输出 */ //设置端口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //LED灯对应的GPIO_Pin_0
/* 初始化LED的GPIO管脚,配置为推挽输出 */ //设置端口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //LED灯对应的GPIO_Pin_0
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //最大输出速度为50MHz
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //最大输出速度为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //调用GPIO初始化函数
/*---------------------GPIO_A15初始化 END----------------------------------------*/
GPIO_Init(GPIOA, &GPIO_InitStructure); //调用GPIO初始化函数
/*---------------------GPIO_A15初始化 END----------------------------------------*/
/*--------------------时基结构体初始化-------------------------*/
// 配置周期,这里配置为100K
/*--------------------时基结构体初始化-------------------------*/
// 配置周期,这里配置为100K
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
// 自动重装载寄存器的值,累计TIM_Period+1个频率后产生一个更新或者中断
// 自动重装载寄存器的值,累计TIM_Period+1个频率后产生一个更新或者中断
TIM_TimeBaseStructure.TIM_Period=arr;
// 驱动CNT计数器的时钟 = Fck_int/(psc+1)
// 驱动CNT计数器的时钟 = Fck_int/(psc+1)
TIM_TimeBaseStructure.TIM_Prescaler= psc;
// 时钟分频因子 ,配置死区时间时需要用到
// 时钟分频因子 ,配置死区时间时需要用到
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
// 计数器计数模式,设置为向上计数
// 计数器计数模式,设置为向上计数
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
// 重复计数器的值,没用到不用管
// 重复计数器的值,没用到不用管
TIM_TimeBaseStructure.TIM_RepetitionCounter=0;
// 初始化定时器
// 初始化定时器
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
/*--------------------输出比较结构体初始化-------------------*/
// 占空比配置
/*--------------------输出比较结构体初始化-------------------*/
// 占空比配置
uint16_t CCR2_Val = 4;
TIM_OCInitTypeDef TIM_OCInitStructure;
// 配置为PWM模式1
// 配置为PWM模式1
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
// 输出使能
// 输出使能
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
// 输出通道电平极性配置
// 输出通道电平极性配置
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
// 输出比较通道 2
// 输出比较通道 2
TIM_OCInitStructure.TIM_Pulse = CCR2_Val;
TIM_OC2Init(TIM3, &TIM_OCInitStructure);
TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);
// 使能计数器
// 使能计数器
TIM_Cmd(TIM3, ENABLE);

View File

@ -4,24 +4,24 @@
#include "stm32f10x.h"
/**-------------------------------------------------------
* @函数名 TIM2_INIT
* @功能 通用定时器2中断初始化
* @参数 arr:自动重装值。psc:时钟预分频数
* @返回值 无
* @函数名 TIM2_INIT
* @功能 通用定时器2中断初始化
* @参数 arr:自动重装值。psc:时钟预分频数
* @返回值 无
***------------------------------------------------------*/
void TIM2_INIT(u16 arr,u16 psc);
/**-------------------------------------------------------
* @函数名 TIM2_IRQHandler
* @功能 定时器2中断服务程序
* @返回值 无
* @函数名 TIM2_IRQHandler
* @功能 定时器2中断服务程序
* @返回值 无
***------------------------------------------------------*/
void TIM2_IRQHandler(void) ; //TIM2中断
void TIM2_IRQHandler(void) ; //TIM2中断
/**-------------------------------------------------------
* @函数名 TIM3_PWM_INIT
* @功能 TIM3 PWM部分初始化
* @参数 arr:自动重装值。psc:时钟预分频数
* @返回值 无
* @函数名 TIM3_PWM_INIT
* @功能 TIM3 PWM部分初始化
* @参数 arr:自动重装值。psc:时钟预分频数
* @返回值 无
***------------------------------------------------------*/
void TIM3_PWM_INIT(u16 arr,u16 psc);