- 博客(15)
- 收藏
- 关注
原创 浅聊HAL 库,
1)操作寄存器,设置PB0为高电平2)使用标准库,设置PB0 为高电平3)使用HAL库,设置PB0 为高电平以上的实质都是通过操作寄存器来实现,给对应IO口写高电平,HAL库对,而且相对直观,写GPIOB的Pin0,GPIO_PIN_SET 为写入高电平。GPIO_PIN_RESET为写入低电平。
2024-04-02 14:32:13
330
1
原创 PCB 布线规则总结
6.RGB模拟信号,走线宽度应该一致,需统一宽度,尽量不打孔,同时RGB信号每根需要包地处理,地面禁止其它信号线通过,保证差分线下方有完整的地平面。PCB设计的3W原则, 它指的是两个PCB走线它们的中心间距不小于3倍线宽,这个W就是PCB走线的宽度。线与线之间靠的太近会有串扰。TTL 输出参考平面需要完整,参考地层下方不要走线,且需要做包地处理。止有其他信号线通过或在差分线下方放置其他元器件,以保证差分线下方有一个完整的地平面。1.滤波电容靠近,芯片Pin脚放置,差分走线要求同组同层,线宽线距满足。
2024-03-12 17:14:40
1019
1
原创 I2C 总线拓展GPIO 通道
PCA9555 是24 Pin 的CMOS 设备,为I2C总线提供 16位通用并行输入/输出的(GPIO)拓展,是个IO拓展器。增强了IO的驱动能力,更低的电源电流等。当ACPI电源开关、传感器、按钮、led、风扇等需要额外的I/O时,I/O扩展器提供了一个简单的解决方案,PCA9555包括两个8位配置(输入或输出选择);系统主控可以通过写入输入IO配置位来启用输入IO作为输入或输出。每个输入或输出的数据都保存在相应的输入或输出寄存器中。读取寄存器的极性可以用极性反转寄存器进行倒置。
2024-03-12 09:36:16
1429
1
原创 PCA9546A,4-channel I2C-bus switch的使用
2.根据电路图的 接线情况确认I2C从设备的地址0xEC。1.PCA9546A是个四路I2C开关。4.串口指令,选择通道,切割字符串。3.四路I2C 开关的寄存器地址。
2024-03-11 20:08:55
1058
1
原创 拉压力传感器,读压力值,(蚌传)
3.压力值,02 后面两个字节是压力值,可咨询供应商,具体指令。1.串口发送数据,发送读拉力值指令。2. 通讯方式RS232通讯。
2024-03-11 19:24:42
356
原创 MAX31790 数据手册解读
6通道、PWM输出、风扇RPM控制器。有6个PWM输出通道,12个TACH转数模拟输入,即PWMOUT1~PWMOUT7,可设置为TACH输入TACH8~TACH12。
2024-03-11 19:11:59
499
1
原创 两个TCA9548A,8路I2C开关,嵌套
2)Step 2:切主控板通道4的同时,切另一块板子的通道6.可以对比出,连切两个通道后多扫出了几个I2C通道。1)Step1:切主控板 I2C通道4。
2024-02-29 21:18:03
610
原创 使用TMP175数字温度传感器读温度,使用IIC通讯
其中0x1700,前两位17是是16+7=23℃,00代表23.0℃,0x1580,温度是16+5=21摄氏度,80代表0.5摄氏度,故U61是21.5摄氏度。1.设备有多个TMP175 I2C设备,.h文件如下。
2024-02-29 21:11:01
439
4
原创 串口发送指令往M24128写64个数据,即One Page
1)规定一个指令符号 ‘=’,其16进制为0x3D 放到串口缓冲器RxBuffer1 缓冲器的 RxBuffer[0],当判断串口发送的第一个字符为3D时,执行往M24129,某寄存器起始地址,连续写64个数据。故RxBuffer1[2] = 0x00 ,放入RxBuffer1[3] = 0x00,本次从该地址开始,可根据需要跟换,但 One Page 只能写64 个数据,不从寄存器起始地址开始写,写不满64个数据。0x00 0x00,可设置,读的个数为0x40 ,64个。效果图为:读出共64个数据。
2024-02-27 23:51:48
647
原创 STM32F407 # Debug调试可实现功能,退出调试模式,恢复初始化状态,无任何现象
/ 函数功能: 重定向c库函数printf到DEBUG_USARTx。2)检查设置,勾选下方位置。
2024-02-27 23:02:15
405
原创 STM32Cube#报错 生成不了文件
The Code is successfully generated under + 路径,but MDK-ARM V5.32 Project generation have a problem.1.通过下面这张图可以看见,工程文件的路径下是没有中文的,但不代表工程文件内部没有带有中文字符的文件,这也会引起报错。1)可尝试跟换版本,如果是keil5 选五版本及以上,keil4 选4版本。我的工程文件下有一个 备注.txt文件。2)检查有没有包,help 里面查看。3)官网上换一个版本。
2024-02-27 22:49:42
2385
原创 TCA9548A 驱动多个IIC器件,切换I2C8个通道,STM32F407
设备地址取决于 A0,A1,A2三个Pin 脚怎么接,TCA9548A 的地址范围为0x00~0x77,原理图R_NC1,R_NC2,R_NC3 没有焊接,故A0,A1,A2,接到GND被拉低,故地址为 0x70。3.设备总线 PF0,PF1,主控为STM32F407,第2个硬件IIC。1)main 函数里面定义你想写的数据,用示波器抓写入数据的波形。形参分别为I2C通道,设备地址,数据个数,超时时间。1)设备地址是8 byte,,存储数据的指针,不同通道寄存器地址,通道使能。如何判断是否切换通道成功。
2024-02-26 22:12:29
1704
4
原创 STM32F407#使用多个串口时,printf函数,只能对应一个串口
1.同时使用多个多个时,printf输出打印只能通过一个串口,打印出来。2.可通过写一个串口发送函数,用不同串口发送字符。
2024-02-22 21:28:41
981
1
原创 AD21原理图导入PCB时的报错
一.在第一遍导入时候没有错,重复导入会出现报错的解决方法。在没有删除原有导入的基础上继续导入,会有报错。所以通过选中,删除原有导入,再重新导入即可解决。2.方法二先清除网络线,再重新导入也可。1.第一次导入没有报错。
2023-07-15 17:06:31
4295
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人