自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天和地丰

嵌入式开发

  • 博客(56)
  • 资源 (3)
  • 收藏
  • 关注

原创 STM32 SPI主从通信

SPI主从机通信

2024-04-01 10:40:47 275

原创 EEPROM ADDRESS BYTE长度说明

容量小于16Kbits(含)的EEPROM 地址是8位的。容量大于16Kbits的EEPROM地址是16位的。操作EEPROM需要注意每页容量大小,跨页操作。例如:STM的HAL库函数中。宏定义了8BIT和16BIT。

2024-03-13 17:27:11 186

原创 STM32 __attribute__((section(“***“)))

__attribute__ ((at()));__attribute__((section("***")))

2023-10-19 16:39:15 1227

原创 STM32 FREERTOS osDelayUntil()异常

在FreeRTOSConfig.h中没有打开对应的定义项,所以对应的osDelayUntil()或者vTaskDelayUntil()功能使用异常。在使用osDelayUntil()进行固定延时时发现不起作用,程序不能按照预期的延时进行执行(比延时要快)。//获取任务运行时间参数。

2023-08-31 14:08:19 928

原创 STM32+FREERTOS任务堆栈大小

如何评估任务堆栈的分配大小问题,可以根据任务的规模以及所任务所需的数据空间大概进行估算一个值。这个值最好是128的整数倍。因为在FreeRTOSConfig.h已经设置了最小的任务堆栈大小。在FREERTOS任务开发过程中,由于不知道具体需要分配多大的任务堆栈大小,就需要在开始开发阶段尽可能的多分配一些,不然在调试过程中会出现程序卡死或者数据通信异常的现象。还可以先分配一个大的任务堆栈,开发完成后根据测试的实际任务堆栈使用情况再去优化任务堆栈大小,节省资源。

2023-02-23 13:23:23 2583 1

原创 STM32F407 CAN模块发送接收数据异常

CAN模块通过HAL_CAN_AddTxMessage发送数据时,TX管脚能够发出数据,示波器也可以测量到数据波形,CAN使用中断接收HAL_CAN_ActivateNotification或者查询接收HAL_CAN_GetRxMessage都可以接收到正确的数据(和发送的数据一致),但是CAN接口却没有波形数据发出,使用CAN调试器也无法接收到数据。在接收和发送时都会报错,ESR寄存器的LEC报位显性错误0x5,REC和TEC分别表示接收和发送的错误计数。CAN模块发送和接收都不正常。

2022-11-16 08:36:00 4430

原创 FreeCAD-中文设置

FreeCAD软件中文设置步骤说明

2022-09-04 09:40:06 6842

原创 FreeCAD-01软件下载安装

FreeCAD官网下载安装

2022-09-04 09:34:07 660

原创 stm32 cubeIDE FreeRTOS printf 浮点数打印错误

freeRTOS printf 浮点数错误

2022-08-26 10:28:04 1234 1

原创 CubeIDE 包含路径warning处理

在工程树的Includes下可以看到灰色的有感叹号的对应包含关系。根据自己项目情况选择Debug还是Release。查看项目树下已经不再有刚刚包含的对应路径。查看项目树此包含关系已经不再是灰色了。Debug和Release都不要勾选。此时再次将包含关系从项目中移除。最后再将新建的空文件夹删除即可。将新建的文件夹添加到项目路径。对应目录新建空的文件夹。...

2022-07-29 11:15:23 958

原创 Altium Designer BoardCutout定位孔使用说明

2、焊盘过孔直接放置Pad设置PAD的参数即可(形状、尺寸大小等)3D显示如下图。通过Tool->Convert创建BoardCutout区域,3D显示如下图。选中这个region后通过properties修改成BoardCutout即可。如果在PCB库文件中编辑器件的BoardCutout则需要如下操作。先在机械层创建一个圆,然后通过Tool->Convert。1、PCB板的固定孔有普通的机械孔和焊盘孔两种。可以在机械层、或者keepout层放置一个圆形。3、普通的机械孔是没有沉铜部分的。...

2022-07-28 14:55:18 3834

原创 CUBEIDE STM32 HardFault分析

CUBEIDE STM32 HARDFAULT

2022-07-15 10:54:29 1085

原创 CUBEIDE编译问题——编译xxx.ld文件失效

CUBEIDE 修改堆栈

2022-06-30 13:13:07 498

原创 Allegro-封装更新

元器件的封装更新有以下几种方式:1、更新整个工程对应的某种封装根据需要更新的器件封装名称进行更新操作,注意勾选的元器件参数项2、更新单个器件封装选中Placement Edit模式,后选择需要更新封装的器件,右键选择Refresh symbol instance即可注意,右键在Quick Utilites->Refresh symbol进行更新时和Update Symbols功能一致,是更新全部对应的封装3、更新焊盘可以通过Tools->M..

2022-03-24 11:57:44 9133

原创 Allegro-Group功能

在布局布线时,需要对一个功能模块的电路创建group,方便整体的移动、旋转、镜像操作等。group功能的步骤如下:1、选择Setup->Application Mode->Placement Edit2、Find菜单栏选择Symbols3、框选需要创建Group的元器件(Group不单是对元器件,还包含过孔、走线等),选中的器件会有灰白色的选中标识4、光标移至元器件上后右键选择Place replicate create,创建group,右键选择Done5、左

2022-03-24 10:50:07 4732 1

原创 Allegro-Flash焊盘

在多层板的开发设计中,经常会用到负片进行设计,针对负片需要设计时过孔类封装需要用到Flash焊盘,设计步骤如下:1、对照器件手册设计过孔内径和外径尺寸(钻孔大小和焊盘大小)例如普通2.54mm间距的插针,插针宽0.64mm,直径0.8mm,焊盘大小设计成 1.0-1.62、打开PCB Editor软件新建Flash焊盘,并点击Browse选择存储路径以及设计名字flash_1r0x1r63、设置开发环境参数(单位,尺寸),设置单位mm,横坐标和纵坐标偏移(便于器件中心点.

2022-03-24 00:17:04 2992

原创 Allegro-元器件对齐

在元器件布局过程中,经常要用到元器件对齐的相关操作,步骤如下:1、选择对应的放置编辑功能,注意Find工具栏要选择Symbols2、框选所需要对齐的元器件,选中后器件会有灰白色的选中标识3、 鼠标移至器件上方后右键选择对齐器件命令4、Option选项可以对器件对齐的格式进行设置5、根据设计需要进行对齐的设置,右键Done完成。...

2022-03-23 23:08:30 8148

原创 Altium net has no driving source问题

1、原因是由于元器件的管脚带有输入、输出、电源等属性,不能直接相连,不然在编译时会报出net has no driving source的警告。2、解决办法可以按照管脚的实际对应关系设置管脚属性,输入、输出或者I/O表示双向以及电源、三态等等,如使用这种方法最好在建立元器件库时对各个管脚进行设置。可以在管脚位置直接放置一个Generic no ERC标识也可以在project option中将这个警告进行忽略...

2021-09-30 23:08:12 5718

原创 EXCEL 常用功能记录

1、下拉三角数据选择选中需要添加选择的框后在来源数据框中输入需要选择的数据注意使用的半角逗号2、数据筛选例如要筛选等级是A级和B级的进行显示选中等级所在的数据框,选中排序和筛选工具等级框后会出现下拉的筛选三角标志点开后进行选择即可3、一个框用斜线分割方法1:选中需要设置的框后点击鼠标右键,选择设置单元格格式选择边框菜单再选择斜线即可文字可以直接输入后通过alt+回车进行分行然后通过空格进行调整方法2:

2021-05-20 16:20:01 131

原创 microchip-01 MPLAB IDE安装

1、下载MPLAB-IDE安装包https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide#tabs2、下载编译器https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-xc-compilers这里根据自己的所用的平台芯片进行选择即可3、安装MPLAB-IDE双击上面下载的MPLAB

2021-05-19 10:35:58 7289

原创 microchip-02之MCC工具安装

详情请参照官网说明进行操作:MPLAB® Code Configurator | Microchip Technology选择Available Plugins页签,并找到对应的MPLAB Code Configurator 并点击install进行安装即可安装完成后在已安装的页签可以看到所安装的MCC工具在MPLAB开发环境也可以看到MCC工具框或者参照官网的说明进行操作,官网的说明截图如下:...

2021-05-19 09:23:00 1610

原创 ubuntu samba问题记录

在进行Linux开发时经常使用到samba工具实现windows主机和ubuntu虚拟机之间的文件共享例如:使用windows主机直接开发linux程序,在ubuntu虚拟机中进行编译1、在ubuntu 虚拟机中安装samba工具sudo apt-get install sambasudo apt-get install smbclient2、查看samba版本输入 samba 或者samba -v 查看版本3、配置samba工具共享目录etc/samba/smb.con

2020-12-31 10:00:38 280 1

原创 ubuntu ssh 相关问题记录

1、在做Linux开发过程中经常会用到远程连接和远程文件拷贝windows端常用的工具有xshell和xftpxshell可以远程连接到linux的 服务器、主机或者虚拟机,而且可以像操作linux主机的终端一样进行命令行操作。xftp 可以和远程linux服务器、主机、虚拟机等进行文件拷贝传输,直接拖动方式就可以操作非常方便。2、ubuntu虚拟机相互拷贝文件到linux开发板常用scp命令进行文件拷贝,既可以从ubuntu虚拟机拷贝到linux开发板,也可以由linux开发.

2020-12-30 11:50:36 533

原创 Ubuntu bash: 没有那个文件或目录

在安装交叉编译环境时提示没有那个文件或目录目录路径下是有这个文件的,而且环境变量也已经设置完成可以显示对应正确的路径说明不是配置的问题,应该是系统那里出问题了,查找资料多说是由于ubuntu 64位没有32位的运行库 ia32-libs。于是开始安装ia32-libs提示没有可安装的软件,提示给了一个取代的软件包lib32z1于是开始安装lib32z1等待你安装完成,问题解决。...

2020-12-25 11:29:29 12045 10

原创 STM32L476 LPUART波特率问题说明

1、在使用CUBEMX进行STM32L476的LPUART开发时设置波特率出现问题,不能直接设置为9600(强制设置后出现错误),可以设置为115200,由于这两个波特率都是最长用到的参数,因此这个问题必须解决2、在实际使用过程中,发现强制设置成9600时,收发数据也是错误的。查找芯片手册和网络资料,解决这个问题对LPUART的波特率这里有明确的说明,LPUART的时钟不能超过fck must be in the range [3 x baud rate, 4096 x baud

2020-11-28 10:42:56 1924 1

原创 CCS5.5 仿真配置文件操作说明

在进行DSP开发仿真测试时,都需要用到仿真配置文件,仿真配置文件的建立使用方式也有多种方式1、打开仿真配置文件可以直接在VIEW 菜单下将仿真配置工具显示出来再进行配置也可以直接在File菜单下新建仿真配置问件个人倾向于第一种方式,比较直观,后面有多个工程需要使用同一个仿真配置文件时操作也比较方便。2、新建仿真配置文件点击新建按钮,并填写一个新建的仿真配置文件名称选择所使用的仿真器以及DSP型号,这里选择的是OMAPL138点击save按键进行保存,此时可以点

2020-11-12 15:42:33 5865

原创 CCS5.5复制工程

在使用CCS开发相应工程时,经常会需要拷贝一个完整的工程,在CCS中拷贝工程是非常方便的。1、左键选中需要拷贝的原工程(工程会有Active字样,并且颜色也会加粗和别的工程不一样)2、右键选中复制3、在项目工程列表空白处,右键粘贴4、在弹出的Copy Project 菜单中修改拷贝后的工程名称即可...

2020-11-11 11:07:20 2240

原创 Linux开发主机、虚拟机、开发板网络连接

1、设置虚拟机连接方式是桥接2、设置ubuntu的网卡以及IP确保虚拟机设置的固定IP和主机在同一个网段,同时设置网关和子网掩码以及DNS服务器3、主机和虚拟机之间相互ping测试,我的是主机可以ping通虚拟机,虚拟机无法ping通主机。关闭主机的防火墙后,虚拟机可以正常ping通主机...

2020-11-09 12:17:36 2499

原创 Altium Designer 相同模块的布局布线操作

在进行PCB设计开发过程中经常性会遇到具有相同电路功能的模块,这些模块可以使用相同的布局布线,例如电源模块,多通道的AD采集模块和输出模块等等,这样的模块可以通过Altium 工具的Room和Channel Counter通道号来进行实现。例如上图中的P3 P4 P5 P6 ,其中P3、P4和P5 、P6具有相同的功能,器件也一样,就可以通过ROOM来进行设计。第一步:先导入到PCB中第二步:布局走线并建立响应的ROOM第三步:选择已完成的ROOM中的器件和ROOM并复制对应

2020-10-09 15:59:59 9379 4

原创 Altium FPC软硬结合板日志

1、新建PCB工程并管理板层并建立对应的硬板(Rigid)和软板(Flex)板层在层叠管理器的层叠特征(Features)选择Rigid/Flex板点击层叠管理的Board Layer Stack 后的+号添加新的层叠例如这里添加的Stack1,并在层叠的Proterties菜单修改层叠的名称和层叠的软硬板属性,这里Substack栏修改名称为Flex,下方的Is Flex选项选择勾选,同时Board栏中的Stack Symmetry选项取消勾选,同样修改一个Rigid的板层,其中这里Sub

2020-08-27 10:09:44 5276 5

原创 ALTIUM20 PCB界面无法选中元器件及其解决方法

故障:在PCB界面不知道是由于什么原因导致在PCB界面中无法选择元器件,走线和过孔等都可以选择现象:左键点击元器件无反应原因:PCB过滤器中把元器件过滤了解决方法:在PCB过滤器中把元器件重新选中(Components)注意:过滤器是工具栏中第一个图标类似漏斗形状的控件...

2020-07-22 15:57:32 22281 1

原创 C语言实现大小端数据转换

由于处理器不同以及数据存储方式的不同,造成了再不同平台下数据存在大小端存储的问题。为了保持数据的一致性就要去数据在平台传输、转换过程中要保持相同的大小端数据格式。常用的有16位、32位数据大小端数据转换,STM32中uint32_t 为32位无符号整形数据(unsigned int)。方法1://32位大小端数据转换 #define BSWAP_32(x) \ (uint32_t)((((uint32_t)(x) & 0xff000000) &g...

2020-07-10 08:37:26 7559 1

原创 IAR Get Alternative File 问题和解决办法

问题说明:在进行STM32的FFT运算时,移植了相关的DSP库文件。但是在进行连接仿真器仿真时,提示Get Alternative File问题,点击Skip按键后也不影响运行,但是在操作时很不方便。就想着怎么解决,因为是增加了相关的DSP库才导致的问题,所以肯定和DSP库的移植有关。由于在边缘选项中选择了就以为可以直接包含所需要的响应的库文件了。可是由于自己的IAR集成开发环境不是安装在C盘的默认安装路径,安装在了D盘,导致了这个问题的出现。会提示以下几个问题

2020-06-05 09:35:07 2801

原创 使用CUBEMX调试STM32L476的PWM功能

1、打开CUBEMX建立响应的STM32L476工程2、选择相应的MCU控制器3、配置系统晶振4、配置DEBUG接口5、配置定时器的PWM通道6、配置PWM参数和占空比7、配置系统时钟8、配置工程名称和保存路径(不能有中文路径)9、配置工程格式以及库文件包含情况10、生成工程11、在生成的工程中添加开启响应的PWM即可HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);这时通过示波器

2020-05-15 16:47:33 884

原创 STM32L4 低功耗STOP模式关闭IWDG功能

1、先建立基于STM32L4的低功耗STOP的例程(可以休眠1分钟) SysTick->CTRL = 0x00;//关闭定时器 SysTick->VAL = 0x00;//清空val,清空定时器 /* Disable all used wakeup source */ HAL_RTCEx_DeactivateWakeUpTimer(&hrtc); HAL...

2020-03-24 15:06:39 6761 3

原创 ALTIUM DESIGNER 20 输出GERB加工文件

1、打开对应的PCB文件2、选择输出光绘文件File->Fabrication Outputs->Gerber Files2、配置输出选项Units选项选择inches,Format选项选择2:5在Layers菜单,选中include unconnected mid-layer pads(多层板必须),在Plot Layers的下拉菜单里面选择Used on...

2020-01-03 14:15:28 4871

原创 ESP8266-01S模块AT指令无结果返回的处理办法

在调试ESP8266-01S模块时,遇到了发送AT指令模块不响应的问题:[]发→◇AT□[]发→◇AT□[]发→◇AT+RST□最后在安信可技术的帮助下进行更新固件得到了解决使用的固件版本是:Ai-Thinker_ESP8266_DOUT_8Mbit_v1.5.4.1-a_20171130.bin设置过程参照上图就可以。start开始后等待固件更新完成(进度条走完),...

2019-11-26 15:10:19 11677 4

原创 C语言字符串长度计算

在C语言的应用过程中经常性的会用到字符串,以及对字符串的长度进行计算的问题。首先大家常用的办法是使用strlen函数和sizeof关键字进行设计。sizeof()返回字节数,strlen()返回的是字符数。例如:char strry[20] = "hello";#define string_length "abcd"sizeof(strry);使用sizeof计算结果为...

2019-09-24 09:28:11 9302

原创 KEIL/IAR调试STM32L4仿真器不识别

1、在做STM32L4开发调试时遇到了MCU无法识别的问题,新做的电路板,之前一版使用IAR搭配STLINK工作正常(没当回事)。上电第一次连接仿真器就失败了,按照经验按住复位按键(reset)进行连接,依然不成功(开始认真);2、查电路原理图、PCB、电路板都没有发现问题,继续连接测试,依然不成功(开始着急);3、更换仿真器,手头有JLINK,测试---依然不成功(着急中);4、...

2019-07-11 14:18:16 4091 3

原创 BMA250E数据读写问题说明

先看一下BMA250E的datasheet关于温度的说明  0.5K/LSB,0.5K是什么?是凯尔文温度吗?凯式温度和摄氏温度单位换算是相差273.15(摄氏温度=凯式温度-273.15),这显然不正确,正确的应该是0.5度/LSB(经过验证)。再有温度测量范围是-40--85度,按照手册的0X00表示23度,85度是127,超过127的值表示的是什么?经过验证超...

2018-11-02 17:22:35 1879 1

AltiumDesigner20装配变量Variant使用说明 .pdf

AltiumDesigner20装配变量Variant使用说明 .pdf

2021-08-04

stm32l476_iwdg.rar

资源包含整个工程的源代码以及注释,使用CUBEMX开发,基于HAL库应用,方便大家参考应用。 所包含的模块有GPIO(添加了一个指示灯作为状态指示)、UART(调试用串口,方便输出LOG,而且重定向了printf函数)、RTC(实时时钟)、中断、STOP2(低功耗)、IWDG(独立看门狗)

2020-03-24

hpi接口技术说明文档

hpi接口技术文档,英文资料说明,很详细

2014-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除