ARM三级必过答案simon

2020-05-23 15:15

1.1-GPIO操作

#define GPIO_Pin_3 ((uint16_t)0x0008) #define GPIO_Pin_4 ((uint16_t)0x0010)

这里要使用3,4脚,找到路径,在#define GPIO_Pin_1 ((uint16_t)0x0002) #define GPIO_Pin_2 ((uint16_t)0x0004) 下面添加3,4为1时就是0008和0010

1.1.2

#define GPIO_Pin_7 ((uint16_t)0x0080) #define GPIO_Pin_13 ((uint16_t)0x2000) 同上第7,13位为1

1.1.3

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 实现GPIO在推挽模式和输出最大速度为50MHz

1.1.4

STM_EVAL_LEDOn(LED1); Delay(0xAFFFF);

STM_EVAL_LEDOn(LED2);

Delay(0xAFFFF);

STM_EVAL_LEDOn(LED3); Delay(0xAFFFF); STM_EVAL_LEDOn(LED4); Delay(0xAFFFF);

函数STM_EVAL_LEDOn(LED):实现LED点亮

1.1.5

STM_EVAL_LEDOn(LED1); Delay(0xAFFFF);

STM_EVAL_LEDOn(LED2); Delay(0xAFFFF);

STM_EVAL_LEDOn(LED3); Delay(0xAFFFF);

STM_EVAL_LEDOn(LED4);

Delay(0xAFFFF);

/* Turn off */

STM_EVAL_LEDOff(LED1); Delay(0xAFFFF);

STM_EVAL_LEDOff(LED2); Delay(0xAFFFF);

STM_EVAL_LEDOff(LED3); Delay(0xAFFFF);

STM_EVAL_LEDOff(LED4); Delay(0xAFFFF); 函数STM_EVAL_LEDOn(LED):实现LED点亮 函数STM_EVAL_LEDOff(LED):实现LED关闭

1.1.6

STM_EVAL_LEDOff(LED3); Delay(0xAFFFF);

STM_EVAL_LEDOff(LED4);

函数STM_EVAL_LEDOff(LED):实现LED关闭为了看清加个延时

1.1.7

STM_EVAL_LEDOff(LED2); STM_EVAL_LEDOff(LED4);

函数STM_EVAL_LEDOff(LED):实现LED关闭

1.1.8

STM_EVAL_LEDOn(LED3); Delay(0xAFFFF); STM_EVAL_LEDOff(LED3); Delay(0xAFFFF); STM_EVAL_LEDOn(LED4);

STM_EVAL_LEDOff(LED4); 按要求点亮

1.1.9

STM_EVAL_LEDOn(LED1);; Delay(0xAFFFF); STM_EVAL_LEDOff(LED1); STM_EVAL_LEDOn(LED3); Delay(0xAFFFF); STM_EVAL_LEDOff(LED3);

按要求点亮

1.1.10

Delay(0xFFFFFF);

STM_EVAL_LEDOn(LED1); Delay(0xFFFFFF); STM_EVAL_LEDOff(LED1); STM_EVAL_LEDOn(LED3);

STM_EVAL_LEDOff(LED3); 按要求点亮

1.2-中断控制器使用方法

TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);

直接copy下面的TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);

1.2.2

NVIC_InitStructure.NVIC_IRQChannel = 28; //考试要求正确修改 Word中tim2是通道28,编译有下面NVIC_IRQChannelPreemptionPriority转到宏定

义有个uint8_t NVIC_IRQChannel;

1.2.3

NVIC_InitStructure.NVIC_IRQChannel = 29;

Word中tim3是通道29,编译有下面NVIC_IRQChannelPreemptionPriority转到宏定义有个uint8_t NVIC_IRQChannel;

1.2.4

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;

Word中NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority:优先级配置

1.2.5

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;

Word中TIM2拥有抢占优先级0,响应优先级0;TIM3拥有抢占优先级1,响应优先级1;TIM4拥有抢占优先级2,响应优先级0。

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

1.2.6

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2; NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;

Word里面有两大窜,使其拥有抢占优先级2,响应优先级0

1.2.7

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

1.2.8

/* Enable the USARTy_DMA1_IRQn Interrupt */ NVIC_InitStructure.NVIC_IRQChannel = 16;

编译进入上面注解USARTy_DMA1_IRQn可以看到使用16通道,前半部分下面有

1.2.9

/* Toggle LED3 */

STM_EVAL_LEDToggle(LED3);

Word有个函数STM_EVAL_LEDToggle(LEDx):LEDx状态翻转上面注解有led3

1.2.10

/* Toggle LED32*/

STM_EVAL_LEDToggle(LED2);

Word有个函数STM_EVAL_LEDToggle(LEDx):LEDx状态翻转上面注解有led2

1.3-PWM脉冲宽度调制

printf(\ 36KHz\\n\

word中已知TIMX3CLK=36MHz,分频系数Prescaler=0,

? TIM3的时钟频率: TIM3 counter clock=TIM3CLK/(Prescaler + 1)。

? TIM3的频率: Frequence=TIM3 counter clock/(TIM3_ARR+1)程序中tim3_arrshi

999,所以最后36khz

1.3.2

printf(\ 18KHz\\n\

word中已知TIMX3CLK=36MHz,分频系数Prescaler=1,


ARM三级必过答案simon.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:信度公式

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: