- 博客(21)
- 收藏
- 关注
原创 EEPROM存储芯片25AA512芯片的使用时序,与STM32使用SPI通信代码
25AA512有512k的大小,断电保护,EEPROM;对芯片25AA512进行读写与擦除,不同的范围;字节级与页级写入,页级擦除、扇区级擦除、全擦除。HOLD,引脚高电平时芯片正常工作,低电平时会暂停工作,但图上接线方式明显不要暂停的功能,所以接个上拉电阻与VCC连接;CS,SCK,SO,SI,就按照常见的SPI顺序接线,NSS就是接CS,片选;VCC,接3.3V,手册上范围1.8V~5.5V。WP,也接个上拉电阻与VCC连接;然后,是芯片25AA512的介绍;以上四个引脚以后就需要不再考虑;
2024-03-27 17:32:37
195
原创 STM32中TIM定时器的使用
根据定时器时钟的频率,比如时钟的频率是72MHZ,可以理解为一秒钟STM32会自己数72M次,预分频系数就是将频率分割,比如分频系数是72,则该时钟的频率会变成72MHZ/72=1MHZ,但是在设置的时候要注意,数值应该是72-1。假定分频系数是72-1,那么频率变成1MHZ,也就意味着STM32在一秒钟会数1M次,即1us数一次。接下来就是确定预装载值,比如需要定时1ms,由于1ms=1us*1000,那么预装载值就是1000-1;如此类推,在预分频系数确定的情况下,定时的时长就由预装载值确定了。
2024-03-22 14:07:34
218
1
原创 STM32,烧录、复位后串口发送0xFF
其次,与代码中串口发送函数放在main的最前面有关,复位后迅速执行到串口发送,增加Delay延时5ms后就没有再出现发送0xFF,我用的485,所以只要不切换EN引脚就不能发送。首先,可能与硬件上没有上拉TX/RX有关。
2024-03-14 10:17:49
360
1
原创 stm32 串口发送数组时第一个或最后一个字符丢失
写一个数组:sendbuffer[5]={0x11,0x22,0x33,0x44,0x55};发现了另一个问题,每次复位后发送都会多出个FF,找一下原因。所以,为了保证数组能完整发送,两个标志位都判定一下;如果发送时使用TC作为发送完成判断标志 ,如果使用TXE作为发送完成判断标志 ,就会出现:数组最后一个字符消失。就会出现:数组第一个字符消失。
2024-03-14 09:58:16
311
1
原创 STM32中CAN通信:简单的CAN发送代码、(16位和32位)滤波器配置方法
STM32F103,CAN通信滤波器设置,标准帧,数据帧,掩码;
2023-12-07 16:34:38
1462
2
原创 YeeCOM DTU的使用、4G+wifi
DTU为其他设备提供的入网方式:WiFi(AP模式)、网口1(LAN)、网口2(WAN模式)DTU三种入网方式:4G、WiFi(STA模式)、网口2(WAN模式)
2023-12-05 13:52:04
376
原创 STM32烧录失败的原因
1.GND/CLK/IO接线接反了,有时候画PCB时,顺序不一定,接线也不一样;2.之前的代码关了JTAG、SWD功能,只能串口烧录;2.杜邦线看似插上了烧录口,但实际上歪了、松动了;4.芯片焊的有问题,芯片的电压有问题,晶振没工作;3.烧录器坏了,这个需要两个板对照着找;
2023-07-22 10:29:12
3278
原创 ZMTPT107的使用
1.输入输出额定电流2mA 1000:1000的变比仅仅起隔离作用,输入输出的电流要小于2mA;2.实际输出电压值与前后的电阻有关输入电压/输出电压=输入串联电阻/输出并联电阻
2023-07-17 10:29:00
897
1
原创 error: #159: declaration is incompatible with previous “xxxx“ (declared at linexx)
函数的顺序问题:a函数中调用了b函数,需要把b函数放在a函数的前面;
2023-04-13 09:03:47
4131
1
原创 RS485通讯发送数据末尾一字节变成0xFF的原因
485发送数据后立即切换成接收状态,使得最后一字节没发出去;延时2~4ms后再切换;我刚开始是多发送一字节,后来发现原因就延时,都可以;
2022-11-07 09:47:09
1721
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人