- 博客(21)
- 问答 (1)
- 收藏
- 关注
原创 stm32f407vet6驱动xpt2046触摸屏(hal)
前几天移植完 lcd屏幕后,一直在看关于触摸屏的部分,也捣鼓一段时间,主要是一些细小的地方太难找了,经常不知道卡在那里,中间还有一个小坑我自己也不知道原因。这里写在这里记录一下.
2024-08-23 22:46:22
921
原创 stm32f407vet6驱动3.2寸lcd(9341 FSMC hal)
最近在钻研一些显示屏,研究到了lcd显示屏,然后入手了一块f407的开发板,但是店家给的资料有点怪,是keil4的工程,我一打开显示缺少f407vexxx,keil现在还巨慢,然后我到处找资料,发现网上大多是vgt6,又去各家vet6的店铺区找资料。折腾了几天终于把lcd点亮了,然后把标准库的代码移植到了hal库上面。
2024-08-20 17:59:56
351
原创 蓝桥杯学习笔记 CT107D 第十二届国赛
碎碎念:这一届我写着有点卡壳的地方应该在不同配置下超声波的触发方式,之前我那种方式进中断实际很由可能时上一次测距指令的结果,但这次明显需要立即得出结果,所以这次我直接把数据计算放到中断中计算.
2024-05-23 21:17:02
298
1
原创 蓝桥杯学习笔记 单片机CT107D 第十三届国赛
碎碎念:这一届的难点我觉得在于PWM输出与其他模块之间的冲突,同时如果不使用PCA的话还有定时器之间的冲突的问题。我最开始做的时候并没有在意这些细节上的问题,然后出了许多问题,比如LED和数码管乱闪,IIC时序异常等,现在虽然解决了一部分,但还是有一些瑕疵。
2024-05-18 20:32:58
499
原创 蓝桥杯学习笔记 单片机CT107D 第十四届国赛代码部分
2.双按键长按,官方给的例程是两个按键同时按下对应一个键值,我这里采用另外一种思路,就是按下S8后先进入循环等待S9按下,若没有按下,则松开S8的时候执行相应的操作,检测按下后置相应的标志位,开启计时器计时,若时间条件满足,执行复位操作,否则执行短按的操作,为了规避S8,S9按下的先后顺序问题,S9也要有类似的步骤。数据部分仍然采用无符号整型,但是多设置一个标志位,来表示正负,在正负时候采用不同的加减逻辑,重点是从负数加到0和从0减到负数这两个关键位置符号的转变,下面是一个例子。
2024-05-10 21:37:15
299
原创 蓝桥杯学习笔记 CT107D 第十五届省赛
这次蓝桥杯也是有惊无险侥幸拿到省一,准备把这一次省赛更完专注搞国赛去了说一下这次比赛我的问题吧:第一个就是频率测量时定时器的配置,我最开始是两个定时器分布位操作配置,但数码管显示异常,放在一个语句里面一起声明正常第二个就是数码管显示的代码过于复杂,想着能不能简化一些.对于这次的数据包,在参考代码部分没有什么改动,照着去年来即可,就是原理图改动很大,但只需看第一页就行,如果不确定端口再去下面几页找端口,回来对应MCU的端口即可(除了按键其他都写着下图了)
2024-05-05 21:36:42
200
原创 蓝桥杯学习笔记 单片机CT107D 第十三届省赛第二场
碎碎念:这一次出乎意料的考了超声波模块((╯‵□′)╯︵┻━┻)按照习惯我还是用十四届提供的驱动代码.超声波使用PCA模块,可参考这篇文章。这一届底层驱动用的不是很多,只有iic。
2024-04-05 17:39:38
354
1
原创 蓝桥杯学习笔记 单片机CT107D 十三届省赛第一场
在整点操作的时候,我是采用时分都是0的条件判断,但这种操作会在一秒内重复触发,为解决这种情况,可以多添加一种标志位,在时分非0情况下置零,如果时分为0且标志位为0,说明之前没有触发过。
2024-03-30 10:47:44
209
1
原创 蓝桥杯学习笔记 单片机CT107D 利用PCA模块实现超声波测距
最近在琢磨开发板上的超声波模块,一般的方法是发出超声波后开启一个计时器,等待接收端口(P1^1)变为低电平或者触发计时器溢出中断后计算数据计算或是其他操作,但这么做有个问题,就是在等待接收端口回应的时候用的是while循环,这一段时间内无法进行其他操作,所以在距离较长的时候会出现一些问题(如数码管亮度减少),同时为了数据的准确,不能再while中加入数码管扫描的操作附:之前使用的代码TMOD&=0xf0;TH0=0;TL0=0;SendWave();TR0=1;//问题就出现这里TR0=0。
2024-02-25 11:31:00
1378
原创 蓝桥杯学习笔记 单片机CT107D DS18B20温度传感器
DS18B20是一种数字温度传感器,应用非常广泛。它输出的是数字信号,同时具有体积小,硬件资源耗费少,抗干扰能力强,精度高等特点。采用单线接口方式:DS18B20温度传感器仅需要一条线即可实现与微处理器的双向通信。测温范围: DS18B20温度传感器的测温范围可达-55℃~+125℃,在-10℃到+85℃范围内误差为±0.4°。DS18B20温度传感器在应用过程中不需要任何外围元件。DS18B20温度传感器测量温度的结果以9~12位数字量方式串行传送。(默认12位)
2024-02-06 22:03:14
739
1
原创 蓝桥杯学习笔记 单片机CT107D 串口通信
串口是串行接口(serial port)的简称,也称为 串行通信接口 或 COM接口。串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式在串行通信中,数据在1位宽的单条线路上进行传输,一个字节的数据要分为8次,由低位到高位按顺序一位一位的进行传送。(但接受和发送不在一条线上进行)SM0.SM1:工作模式设定(一般是01设定为工作模式1)SM2:多机通信控制位,模式1位单机模式,置0即可REN:置1允许串口接收。
2024-02-02 13:48:22
645
原创 蓝桥杯学习笔记 单片机CT107D PCF8591使用
PCF8591是单片、单电源低功耗的8位CMOS数据采集器件,具有IIC总线接口的8位A/D以及D/A转换器,有4路A/D转换输入,1路D/A模拟输出。使用iic通信其中AIN为思路输入通道连接,AIN1连接光敏电阻,AIN3连接RB2电位器(电路图是这么画的,而且实物也是这么连的,不知道为什么我写代码的时候是反的)P20对应SCL,P21对应sda需要在iic.c中补充。
2024-01-31 20:25:06
1187
原创 蓝桥杯学习笔记 CT107D DS1302的使用
1.DS1302 是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且 还有软件自动调整的能力,可以通过配置 AM/PM 来决定采用 24 小时格式还是 12 小时格式。2.串行 I/O 通信方式,相对并行来说比较节省 IO 口的使用。
2024-01-28 12:30:41
1243
1
原创 蓝桥杯学习笔记 单片机CT107D AT24C02数据读写
AT24C02是一种可以实现掉电不丢失的存储器,可用于保存单片机运行时想要永久保存的数据信息存储介质:E2PROM通讯接口:I2C总线图中A0 A1 A2决定着设备在iic中的地址设备地址由原理图并结合数据手册可是可知在CT107D中 读的地址为0xa1,写的地址为0xa0 scl为P2^0,sda为P2^1(在iic.c中补全。
2024-01-25 15:23:16
702
原创 蓝桥杯学习笔记 单片机CT107D 新驱动代码的使用.
在第十四届蓝桥杯中,比赛更换了底层驱动代码,不再提供 onewire iic ds1302的头文件,需要自行编写,同时在.c文件中也进行了一些改动(如引脚的缺失)。需要提前注意。在比赛中更换了驱动代码,但最具体实现还是由官方给出,只需对照原理图和已给出的代码进行补充和头文件的编写即可。
2024-01-22 21:11:29
882
原创 蓝桥杯学习笔记 单片机CT107D 按键短按,长按,双击的识别
实现长按,就是判断按键按下的时间,可以通过计时器实现,简单说就是在按下按键后开始计时,若计时小于一定阈值(如1s)则判定为短按,执行一定的操作,否则判定为长按,执行另一种操作.利用按键S4实现短按加1(若数据>100,则置0),和长按(按键按下时长大于1s)清零的效果.
2024-01-21 21:00:13
808
空空如也
STM32G431串口与hal_delay连用的问题
2024-05-20
蓝桥杯单片机第十三届国赛PWM的问题
2024-02-29
51 单片机数码管显示不正常
2023-07-12
计算器问题输入方面的疑问
2022-12-18
有什么方法可以避免scanf函数输入时要加入空格的问题
2022-12-18
输入字母后自动跳出循环
2022-11-10
对循环语句条件的提问
2022-10-29
对循环无法跳出的问题
2022-10-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人