visual Studio 2019 次版本 安装 https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/history#installing-an-earlier-releaseMicroSoft官网的连接地址,我选择的是16.8.6
visual Studio 2019 次版本 安装 https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/history#installing-an-earlier-releaseMicroSoft官网的连接地址,我选择的是16.8.6
STM32的串口DMA功能提高对系统减小误码率影响 做了一个简单的系统,STM32处理器采集信息,通过RS485进行数据通信,系统作为RS485从机使用,遵从MODBUS协议。测试中,主机周期不断发送命令和从机通信,发现98%左右成功回复信息,2%左右从机没有回复。后来发现时从机接收处理问题,偶尔出现一个帧中前几个字节错误情况。系统设计时采用USART发送DMA方式,接收RXIE中断+超时。修改设计方案:发送仍然用DMA方式,接收数据采用USART IDLE中断+DMA方式。测试效果近乎100%成功。...
CC1101通信 串扰 CC1101通信配置大概:基准频率:433MHz,Channel Spacing :200KHz, deviation: 5.2kHz, RX filter BW 58KHz速率:2.4kbps,TX Power : 10dBm,CRC enabled,GFSK 调制方式,CCA mode always。使用10个连续channel,设计思路是通过不同channel划分不同通信组网。问题:测试中发现不同channel间偶尔会有串扰发生,拉大channel间隔,串扰减少。解决方式:1、
人体红外感应硬件 1、人体红外传感器模块电路,目前市面上有一种集成的PIR头,输出的就是感应后的电平变化。2、传感器输出阻抗较大,不适合直接电阻分压来进行降压,需要增加一个电压跟随器,使用LM358 ±5V电源供电,HT7660产生-5V电压,供给LM358电路。酒精传感器的ADC采样分压处理,使用LM358电压跟随器,然后再用电阻分压,原因是MQ3的阻抗太高,直接使用电阻分压不可以;同时注意LM358双电源供电,使用HT7660产生-5V的电压,供给LM358芯片。如果使用单电源,得到.
地磁车位检测模块 https://item.taobao.com/item.htm?spm=a1z0k.7385993.1997994373.d4919385.Dskjf5&id=43660240434&_u=38q3ch3ffc71、需要校准2、有延时发生,所以适合静止一段时间获取触发信号的场景,不适合车辆进出场情况测试电路网上还有其它的地磁检测模块NC200,还有低版本的NC100...
Bike 硬件设计问题记录 2016-09-29原理图,版本V1.1中的flash设计线路问题,SPI的miso和mosi接错2016-09-15更改自行车主控制芯片以及LDO,使用STM32L151RCT6,LDO更换为R170N331D造成的问题: 原来使用的是Stop模式,现在改为Standby模式,逻辑就会发生变化; 同时STM32L和STM32F的库函数代码风格不同,需要移植; 调试过程中发现STM32L的SPI1和SPI2使用的多事AF5,产生冲突。解决方法:其中一..
CC1101无线通信芯片使用 注意事项 https://wenku.baidu.com/view/34d5723603768e9951e79b89680203d8cf2f6a4c.html1、当CC1101进入SLEEP状态时,其PATABLE寄存器的数值,除了最低一个字节的数据之外,其余的7个字节的PATABLE设置值都将丢失这即是说,控制CC1101从SLEEP模式返回之后,需要再次重新设置PATABLE的数值。2、工作一段...
程序设计规范 要注意程序的“自我规范” 变量、结构体、类、数组以及函数、文件的名字要和内容相吻合,并且慎用简写; 优先主动态,比如数据处理---void process_data(); 名字最好使用英文,比如刷卡函数,可以使用void swipecard(vod),代替void shuka(void); 还有变量的名字,卡片状态,uint8_t cardstatus 高效运用注释;不容易理解的变量、函数注释,不理解的语句逻...
13.56MHz 天线设计 天线概念,使用50ohm的匹配,1)天线大小和工作距离关系,天线大,工作距离大。2)卡片读取距离和天线的关系3)天线的等效电感和天线半径关系主要介绍直接匹配天线的设计天线方案1、50ohms的长距离,此方案使用的是ipex接口的pcb天线,也可以使用NFC的PCB天线2、直接匹配天线设计https://item.taobao.com/item.htm?spm=a1z0k.7385993.1997994373.d4919385
如何定义协议-简单 一般的通信协议:数据包= 包头(命令码(1字节)+数据长度(2字节) ) + 数据(n字节)包含的信息有:指令、源地址、目的地址、数据、校验等部分。链路层协议:帧头 + 地址 + 命令字 + 数据 + 校验位(帧尾)“不要使用结构体,因为结构体必须定义足够的字符串的长度,这个长度当然是要适应最坏的情况,比如文件名为MAX_PATH的长度,但事实上,在很多情况下,我们实际传输的文件名长度并不需要这么多,这就加剧了网络传输的负担,降低了效率。最好的通讯方式应该是:定义数据包头+.
硬件问题记录- No.1 LOD在no load情况下,输出异常,不是标称值。 LDO SPX3819M5-L-3.3测试,在没有负载的情况下,测量的值不稳定,而且容易损坏(这个可能是芯片问题),在没有负载的情况下,测量输出vout的值大于3.3V ,3.9~5V之间的一个值;在负载的时候,测量的输出vout=3.3V,正确。 No.2 NRF24L01的外部crystal不是提供给芯片工作的频率时钟,而是供其radio使用的基准时钟。 如果只是上电给nrf24l0...
编程范式01 一名软件工程师的4个境界:学会--->会学--->会用---->被用知识之上是思想,思想之上是精神得行而忘意,无异舍本逐末;得意而忘性,方能游刃有余。编程范式:是编程的基本风格和编程思想的体现。有哪些编程范式呢:第一种、命令式,由若干行动指令组成的有序列表,并且用变量存储数据,用语句执行命令; 第二种、结构化,主要思想是宏观上提倡‘自顶向下’的设计,外观上采用顺序、选择以及循环的逻辑结构,摈弃或限制goto语句,保证程序的结构清晰、易于调试和维护。...
STM32 低功耗问题 当低功耗模式进入后,无法下载 download 失败方法一、1)RST保持复位,然后下载,出现一个“---JTAG---”弹出一个框;2)去掉复位,然后下载操作。方法二:如果以上方法不可靠,采用下面的方式。s方法处理:第一步、boot0引脚需要拉到vcc,并且RST保持复位。可能会出现提示:“···JTAG cable···” 第二步,断开boot0到VCC,rst不要复位,可以正常下载了wakeup event 管理:摘自《reference ma...
硬件问题记录 No.1、串口大于15cm的数据传输时出现问题 停车场的A板,串口问题,串口接收受外部影响。115200,1bit stop,8bit,无奇偶校验。问题现象是:A板20pin的接口插上排线后,不断收到RX信号,干扰。来源是:串口通信距离近,驱动能力差,需要增加上拉或是下拉增强驱动能力。 但是A板在打件的时候上拉没有上件,意思是RX路和TX路没有上拉增强驱动。解决方法: 1)由于MCU是STM32F017RC,GPIO口支持上拉输入,软件将RX设置为上拉模式,...
STC芯片低功耗 1、系统主控芯片的选择 stc的mcu ,stc15w207s功耗可以做到1ua,datasheet上居然可以0.1uA STM32F的低功耗和标称值一样,stop mode下14ua左右,在standby 模式下,大约2ua左右。 而使用STM32L系列的功耗可以做得更低,但是价格也会比STM32L系列的价格翻倍 超低功耗MPS430 2、系统的电源设计 根据系统的power c...
PCB 经验 1、CPU或是关键的IC放在PCB的board中间,目的是有足够空间布线;2、CPU和内寸之间走线一般要做等长走线;长度也要考虑是否够绕线;3、时钟芯片尽量靠近CPU,并远离其它敏感信号;4、CPU的复位电路尽量远离时钟以及其它高速信号;5、去耦电容尽量靠近CPU的电源引脚,并且放置在CPU芯片的反面;6、电源部分应放在板子的四周,远离一些高速敏感信号;7、接插件放在板子边上,发热大的器件,放在通风条件好的位置;8、一些测试点以及用来选择的元件放在顶层
FSMC接口 一、支持FSMC的有哪些型号?144pin,XC\XD\XE,256KB flash以上二、STM32的FSMC管理存储空间是1G,分为Bank1、bank 2、bank 3、bank 4,每个bank大小伟256MB,而bank 1又分为4个子bank,每个子bank的大小为64MB。FSMC是一个控制器,可以管理SRAM、ROM、PSRAM、NOR Flash、NAND Flash以及PC控制卡;支持8/16/32位数据异步读写操作,而且支持对Nor和PSRAM的同步突发访问方式。ban
PCB Allegro -05 经验1、建议在送PCB制作前,使用1:1的方式打印,然后使用芯片实物进行对比,确保封装满足焊接和装配要求。PCB 元件封装绘制:1.1)使用 PCB Editor Utility 文件夹下的PAD Designer应用程序,进行封装pad的编辑。1.2)打开PCB Editor 软件,file-new,然后选择 package symbol(wizard),过程中可以使用pad designer建立的pad。2.0)可以使用PCBM_LP 软件制作封装。原理图中元件库的建立:1.1)