STM32的一些程序问题

STM32的一些程序问题,第1张

-> 是指向结构体成员的运算符,在STM32程序库里面他是这样定义的:

typedef struct

{

vu32 CR;

vu32 CFGR;

vu32 CIR;

vu32 APB2RSTR;

vu32 APB1RSTR;

vu32 AHBENR;

vu32 APB2ENR;

vu32 APB1ENR;

vu32 BDCR;

vu32 CSR;

} RCC_TypeDef;

RCC->APB2ENR 就是指到里面的APB2ENR成员函数

A |= B 等价于 A = A|B

A &= B 等价于 A = A&B

将leftInfrad和rightInfrad转成浮点数,

除以10后,

保留一位小数输出到report字符串中。

比如

如果leftInfrad=23

rightInfrad=18

那么

执行后,

report字符串为

"ADC1

=

23

cm

ADC2=

18

cm\r\n"

要想实现你说的 *** 作

搭建好平台

初始化一个定时器用于获取按键值(添加防抖动效果处理)

跑马灯的几个IO初始化配置

数码管显示初始化以及显示程序

蜂鸣器初始化及其程序

主函数

int main(void)

{

  //按键定时器初始化

  // 跑马灯IO初始化

  // 数码管初始化

  // 蜂鸣器初始化

 uint16_t  keyId;

 while(1)

 {

        keyId = GetKeyId(); // GetKeyId函数是你定时器获取的按键值

         switch(keyId)

 {

             key1:   // 相应处理事件

break;

等等。。。。

}

}

uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef GPIOx, uint16_t GPIO_Pin);

返回输入端口某个引脚的状态

GPIOx: x (A~G)

GPIO_Pin: 端口的哪个bit位需要读取 (0~15)

如GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0); 读A0的状态,返回值可能0 或 1

uint16_t GPIO_ReadInputData(GPIO_TypeDef GPIOx);

如GPIO_ReadInputData(GPIOA); 返回A0~A15的状态

你都没有给出基准电压。大家也看不出来。

简单的方法,你先测出现在的正弦信号的峰值

然后把

vu16 Sine16bit[32] = { 0x7FFF,0x98F8,0xB0FB,0xC71C,

0xDA81,0xEA6C,0xF640,0xFD89,

0xFFFE,0xFD89,0xF640,0xEA6C,

0xDA81,0xC71C,0xB0FB,0x98F8,

0x7FFF,0x6706,0x4F03,0x38E2,

0x257D,0x1592,0x09BE,0x0275,

0x0000,0x0275,0x09BE,0x1592,

0x257D,0x38E2,0x4F03,0x6706};

例如你现在的峰值是2V就 把里面的所有数转除以2就可以了。如果峰值是3V就除3

以上就是关于STM32的一些程序问题全部的内容,包括:STM32的一些程序问题、stm32的程序用c语言写的求助、stm32单片机keil程序问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9697914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存