- 博客(67)
- 问答 (1)
- 收藏
- 关注
原创 |,&与||,&&
C语言没有布尔逻辑类型true和false,使用非0表示真,0值表示假,导致了逻辑判断无法类型检查,任何表达式值都可以作为逻辑判断,当出现混用时,无法提示,因此务必小心。if,while,for等条件判断,必须使用逻辑运算符,因为逻辑运算符,顾名思义,本来就是用来逻辑判断,符合语义,提高代码可读性,避免出错。逻辑表达式和位运算表达式具体的表达式值不一样,位运算顾名思义是要先把数换算为二进制然后进行|或&运算,逻辑则直接进行。0 || 2 = 1 // 条件判断为真,但是值却不一样。
2023-02-05 23:14:37
459
原创 USART_IT与USART_FLAG,USART_GetITStatus与 USART_GetFlagStatus
ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT) : 不仅会判断标志位是否置1,同时还会判断是否使能了相应的中断。所以在串口中断函数中,如果要获取中断标志位,通常使用该函数。在没有使能相应的中断函数时,通常使用该函数来判断标志位是否置1。从固件库资料中可以看出,USART_FLAG_RXNE是接收数据寄存器非空标志位,USART_IT_RXNE为接收中断标志位,也就是说,串口一接收到数据,这两个标志位都会被置位。
2023-01-31 22:52:43
1366
原创 关于USART_GetITStatus函数的分析
/D5~D7:代表中断标志位对应的中断使能位在 CR1、CR2还是CR3寄存器中。//D0~D4:代表中断标志位对应的中断使能位在CRx寄存器的哪一位。//D8~D15:代表中断标志位在SR寄存器中的哪一位。D5~D7:代表中断标志位对应的中断使能位在 CR1、CR2还是CR3寄存器中。D0~D4:代表中断标志位对应的中断使能位在CRx寄存器的哪一位。D8~D15:代表中断标志位在SR寄存器中的哪一位。
2023-01-30 22:45:28
2721
1
转载 wifi模块esp8266的使用
现在市面上使用比较的ESP8266有两个版本,分别是官方的ESP8266(两排8引脚)、ATK-ESP8266(一排6引脚)。其实并没有太大的区别,只是将其中的一些引脚进行额外布局而已。这六个引脚只需要4个就行了:RXD、TXD、GND、VCC,分别和USB转TTL模块的TXD、RXD、GND、VCC相连接就行了。1、ESP8266的RXD(数据的接收端)需要连接USB转TTL模块的TXD,TXD(数据的发送端)需要连接USB转TTL模块的RXD,这是基本的;2、
2022-11-26 21:51:21
9714
原创 IIC的使用
总线空闲:SDA = 1,SCL = 1;启动信号:SCL = 1,SDA 1 -> 0;停止信号:SCL = 1,SDA 0 -> 1;数据传输:SCL为1时,SDA必须保持稳定,即为0或1(停止时相反,所以在停止前要改变SDA都要先把SCL置为0);SCL为0时,才允许改变SDA状态;SCL在上升沿时写入数据,在下降沿时读出数据;应答信号:为0时,是有效应答,为1时,是无效应答;传输到最后一个字节后,要发送一个无效应答,再发送停止信号;
2022-11-22 17:51:01
1748
原创 复用与重映射
默认复⽤功能前必须对端⼝位配置寄存器编程。1)对于复⽤的输⼊功能,端⼝可以配置成:①:输⼊模式(浮空、上拉或下拉)(模拟输⼊不⾛复⽤这条线前⾯内部结构篇幅中提到过)②:复⽤功能输出模式:输⼊驱动器被配置成浮空输⼊模式2)对于复⽤输出功能,端⼝必须配置成复⽤功能输出模式(推挽或开漏)。3)对于双向复⽤功能,端⼝位必须配置复⽤功能输出模式(推挽或开漏)。这时,输⼊驱动器被配置成浮空输⼊模式。如果把⼀端⼝配置成复⽤输出功能,将使引脚和输出寄存器断开,并和⽚上外设的输出信号连接。
2022-11-21 13:38:11
2044
2
转载 ABC_Init(ABC_InitTypeDef* ABC_InitStruct)为什么要用指针
ABC_Init(ABC_InitTypeDef* ABC_InitStruct)为什么要用指针
2022-11-02 22:06:07
97
空空如也
c语言报错问题1213rfdsv
2024-02-02
ADC采样概念问题12日32fsf
2024-02-01
c语言报错问题`ad社区规范导致审核不通过的问题,提问次数不支持返还,请认真提问哦!
2023-11-29
为什么说波特率115200 = 115200 (位/秒) = 11520 (字节/秒)
2023-08-03
stm32的定时器请问是否可以写入浮点数给ccr和arr呢
2023-08-03
请问一下为什么会出现这样的输出情况呢
2023-08-03
为什么说ADC的转换时间的导数就是转换速率呢
2023-07-25
为什么我在网上找到的都说不是电容呢,望解答压电陶瓷、晶体类元件
2023-07-25
请问一下USART发送为什么要屏蔽请求IMR呢
2023-07-13
请问为什么unsigned与普通char输出时是不一样的呢
2023-07-13
请问为什么汉字生成的十六进制数与正常的十六进制数不同
2023-07-13
我查到在32位cpu中32进制可以代表汉语字符
2023-07-13
为什么在配置低功耗模式时在停止模式与待机模式也要先把所有外设关闭呢
2023-07-13
CH340G使用问题
2023-07-12
stm32程序小问题
2023-07-10
lcd显示 字模生成小问题 请问为什么生成的数组值与所列的像素位置不符呢,比如第三个0xF8就很明显是错的,我选的是逐列,那么对应图形的第三个元素不应该是0001 1111 也就是0x1F吗
2023-07-10
请问一下为什么在GPIO输出模式下输入都可用呢,那这样模拟输入模式还有存在的意义吗
2023-07-09
,物联网云平台小问题请问一下onenet的多协议接入为什么没有了呢
2023-07-09
c语言小问题,请问如何才能输出数组中第二个字符串23456呢
2023-07-09
请问为什么使用&去数组地址时输出的是完全不相关的数据
2023-07-09
请问一下为什么使用了const常量修饰了变量但是还是可以修改呢
2023-07-07
keil调试报错问题,如何解决?
2023-07-06
请问一下这个c语言语句怎么错了呢
2023-07-06
请问为什么要强制将LCD_BASE这个数据转换为结构体LCD_TypeDef的入口地址
2023-07-05
stm32 FSMC问题
2023-07-05
a = b-' ';难道不应该为2
2023-06-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人