【无标题】

COM_22

  • 外设管脚选定
  1. PD2:LED锁存器输出控制 设为GPIO_OutPut
  2. 按键:均设置 看产品手册7.7,同时设为GPIO——IntPut
  3. PWM产生:多用PA6 PA7 此处用PA1(TIM2_CH2),设为PWM Generation CH2
  4. 串口(已固定):PA9_TX PA10_RX

  • 外设初始化
  1. PWM:
  1. 选定通道 设为PWM Generation CH2
  2. 设定主时钟分频:79
  3. 根据频率定周期:2khz——0.5ms——500us——499
  4. Auto preload自动预装载按需启用 本题不影响
  5. 设置原有占空比:Pulse 5%*500=25
  6. 之后更改的占空比可在程序内设定中断,操作寄存器改变TIM2->ARR变周期,TIM2->CCR2变占空比

  1. 串口:

1)优先使能串口中断NVIC

2)Mode设为异步收发Asynchronous

3)据题设定波特率 9600,其余默认即可

  • 生成代码
  1. 选版本v5
  2. 选copy only necessary 第二项
  3. 选生成.c.h
  4. 文件路径不包含中文
  5. 生成代码后,记得添加lcd.c
  6. 设定仿真器:DAP + reset and run

  • 优先细节

1.先包含一下头文件:

#include "stdio.h"

#include "string.h"

#include <stdint.h>

2.初始化外设Init();

3.u8等定义在lcd.h中,需设变量可用#include "lcd.h"

4.在附属.c文件创建的函数一定要在头文件中声明,如:void Key_Read(void);

5.++操作有最大值限制,两方法:1.取余数量最大值 2.if判断清为初值

6.浮点数操作,乘以10倍以上变为整数操作,最后显示再转换为浮点数

  • 程序
  1. LCD_Process():
    1. 在main.c直接定义,while(1)使用,注意前面初始化界面颜色,仅保留三行程序。

2)防止数据覆盖问题,多敲几个空格在后

    1. LCD数据显示知识点:

  1. 按键
    1. key.c:三行按键法

    1. Key_Process():
  1. 先设u32 keyTick=0;用于后续计时
  2. 防抖措施:引入系统计时器uwTick(刚开始为0),按键按下20ms(10)之后方可进行下一步
  3. Key_Read();按键状态读取
  4. 单片机操作,用并列if即可

    3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值