- 博客(87)
- 资源 (46)
- 收藏
- 关注
原创 Eclipse IDE for ModusToolbox™ 3.4环境通过JLINK调试CYT4BB
使用JLINK在Eclipse IDE for ModusToolbox™ 3.4环境下调试CYT4BB,配置是难点。总结一下在IDE中配置JLINK调试中遇到的坑,以及如何一步一步解决遇到的问题。
2025-03-27 00:21:56
370
原创 Eclipse IDE for ModusToolbox™ 3.4环境CYT4BB7串口配置发送
CYT4BB7芯片,在开发过程中,通过Eclipse IDE for ModusToolbox™ 3.4的开发环境可以配置很多功能,其中就包括串口。配置起来很省事,配置完成后保存代码自动生成,在main方法中给串口初始化一下就可以实现发送的功能了。以下就是配置串口的前置条件和方法。
2025-03-21 00:53:00
706
原创 Keil编译报错的问题解决
在使用keil编码STM32的时候,由于选错了编译器的版本,导致编译报了一大堆错误。错误的内容很多,出现这个问题,大概率是keil使用了编译器V6的版本了。选择一下V5版本,重新编译就好了。
2024-05-25 01:02:55
1885
原创 S32K312 IIC DMA配置
本文主要描述S32K312使用DMA方式进行IIC通信的配置。在工程中,尽可能减少非必要的中断,然而,官方例程中给的demo,是使用LPI2C_USING_INTERRUPTS方式的。因此,本文记录了IIC的DMA方式配置过程。
2024-02-27 17:21:40
2019
3
原创 S32K312 ADC不使用中断的方式(使用轮询方式)获取结果
在项目实际应用中,ADC采样的值没有那么高的实时性要求时,使用中断通知会造成资源的浪费,在不必要使用中断的地方,可以不使用中断的方式来实现。本文主要描述S32K312通过轮询的方式获取ADC采样的结果。
2024-02-06 16:50:24
1083
1
原创 S32K312 IO模拟串口UART接收数据
工程中S32K312的8个串口资源均已使用,需要使用一个IO来模拟串口UART接收数据。IO模拟串口接收数据,首先需要了解串口的理论知识。一帧数据从下降沿的起始位开始,上升沿的停止位结束。起始位后有8个bit的数据位,数据位低位(bit0)先传,数据位高位(bit7)后传,数据位后跟着奇偶校验位。校验位:用于确保传输数据的正确性,可分为奇校验和偶校验。奇校验时数据位和校验位中1的总数应为奇数;同理,偶校验时数据位和校验位中1的总数应为偶数。
2024-01-25 18:52:32
1200
原创 S32K312 IO中断(Siul2_Icu)
本文主要描述S32K312的Siul2_Icu方式IO中断配置和测试代码编写,以PTB9引脚作为IO输入中断为例。
2024-01-24 11:46:23
1802
原创 UJA1169A恢复出厂设置(Restoring factory preset values)
UJA1169A是一款CAN芯片,同时又带有硬件看门狗的功能。出厂默认是Forced Normal模式,此时看门狗是禁用的。CAN通信的正常功能是在Forced Normal/Normal模式下才好用的,Normal模式下需要配置。
2024-01-18 13:19:00
971
原创 S32K312软件看门狗之Software Watchdog Timer (SWT)
S32DS的SDK中提供了Wdg,是属于MCAL层的,配置有点复杂,还需要以来Gpt、Mcu和Platform框架里的东西,配置到已经开发好的工程中还容易出现配置问题。本文主要讲解Software Watchdog Timer (SWT)的软件看门狗配置和使用示例,这个看门狗属于Drivers层的,配置和使用很简单,也无需额外以来其他组件。
2024-01-04 12:01:11
2083
2
原创 S32K312使用ITCM向FLASH代码区写入数据
使用C40_IP的系列方法向FLASH代码区写入数据时,程序会卡死在读取写操作的状态C40_Ip_MainInterfaceWriteStatus()这个方法中。本文主要介绍S32K312通过ITCM的方式,通过C40_IP的方法向FLASH代码区成功写入数据的方法和步骤。首先,验证一下C40_IP写入FLASH代码区时行不通的。1.1、linker_flash_s32k312.ld这个文件需要修改一下。通过J-Flash读取芯片中的数据,可以看到数据写入成功了。1、ITCM的如何使用,参考。
2023-12-31 17:33:44
2102
原创 S32K312程序快速集成软件看门狗的方法
S32K312的软件看门狗配置比较复杂,如果靠纯手工在外设中进行配置,非常费时间,还不一定好用。本文主要讲解如何快速省时省力的让自己的S32K312工程快速集成软件看门狗功能。
2023-12-30 10:17:49
778
原创 S32K312 ITCM代码使用示例
具体可以参考配置文件的编辑,本文主要介绍ITCM的代码使用和调试。ITCM是将功能代码放到了高速缓存中,一方面频繁调用的函数可以快速访问,提高效率;验证Test_function_in_ITCM()这个方法,是运行在ITCM区中,debug查看函数方法的地址,再查看local_func()函数方法的地址,正常没有指定ITCM区的方法,函数地址应该在FLASH中。local_func()函数地址在0x40166c的FLASH区中,满足在FLASH区中。方法的地址是0x00,与ITCM的地址范围匹配,
2023-11-03 09:42:22
983
原创 S32K312 DTCM在代码中使用示例
TCM是一种被直接集成在CPU芯片中的高速缓存,TCM又分为ITCM(Instruction TCM)和DTCM(Data TCM)。ITCM是用来存储代码段的,DTCM是用来存储数据的。 为什么要使用DTCM来存储数据?1)频繁存取的数据,放到DTCM中以节省存取时间;2)存放到DTCM的数据,不会占用RAM的空间。
2023-11-02 18:07:38
2243
原创 S32K144调用空指令NOP
之前在做STM32的时候,经常会用到NOP指令,意思是空指令NOP(No Operation),无操作,是汇编语言的一个指令。在S32K144中也有这样的指令,有时需要通过这个方法来进行时间或者操作的微调整,使用这个方法比较合适。
2023-05-24 12:16:22
1357
原创 S32K144通过IIC操作EEPROM(24C02)读写
然而实际通过IIC操作EEPROM(24C02)的时候,调试中遇到了很多莫名其妙的问题,代码总是运行异常。那么异常的产生原因是什么,是本文描述的重点。最后,回归到我们的问题根源,通过IIC操作24C02写时会出现莫名奇妙的问题,问题在于24C02写入数据时会有一定的耗时,因此需要加入一定的延时。24C02的7位器件地址为0x50,这部分通过"slaveAddress" 全局搜索源码可以发现。1)容量是2Kbit即256字节,每页8字节,共32页。3)写操作分为字节写和页写两种方式。
2023-05-17 10:18:47
1925
原创 中断与freeRTOS任务进行同步
S32K144在做CAN通信时,通过FlexCAN中断接收CAN数据,并希望让freeRTOS 的CAN处理任务拿到CAN数据并进行数据处理。通过示例代码,任务中xSemaphoreTake()的方法是用一直等待,中断发生后释放锁,任务会进行处理。1)与中断同步的任务要设置高优先级,这样正在执行的任务被中断打断后,不会恢复原来的任务,而是优先执行优先级高的任务。2)中断与任务之间的信号量,最好是用二值信号量。通过英文描述,大致可以判断消息队列应用于多个任务与中断的同步。通过事件组可以完成中断与任务的同步。
2023-05-16 18:31:39
1165
原创 S32K144低功耗休眠与唤醒实践总结
3mA的电流很低,尝试了STOP1/STOP2/VLPR后,效果都不理想,静态电流都比3mA低,因此采用POWER_MANAGER_VLPS深度睡眠的模式。在做车载项目时,模块在常供电时需要维系随时可以被唤醒工作的状态,并且静态电流需要在3mA以内,当然在JTT1163标准中要求的是5mA以内。那么反初始化是将已经初始化的资源进行释放,告诉MCU,CAN资源我不使用了,可以释放他的时钟了。反初始化已经初始化好的资源举例,我在程序开始的地方进行了CAN资源的初始化,调用了。1、反初始化已经初始化好的资源。
2023-05-16 16:21:00
3723
4
原创 S32K144集成freeRTOS的systick如何启动的
在S32 Design Studio for ARM Version 2.2的IDE环境下进行S32K144的FreeRTOS集成开发,在官方的demo示例中,没有看到配置SysTick嘀嗒定时器,那么FreeRTOS是怎么配置的呢?如果配置好FreeRTOS后,SysTick是随着FreeRTOS配置自动配置的话,按照这个思路,我们会找到给SysTick嘀嗒定时寄存器配置的相关代码,在工程中进行搜索"SysTick"看宏定义名称可以判断出是对SysTick寄存器进行配置。
2023-05-16 15:42:32
920
原创 S32K144复位或启动原因查看方式
有这样一个需求,我想知道我写好的程序在S32K144中运行的情况怎么样,有没有被看门狗重启过,或者有没有被其他的方式复位,比如外部引脚复位。我是安装的S32 Design Studio for ARM Version 2.2进行S32K144开发的。具体含义参考后面的注释,我关注的是否为看门狗重启,因此RCM_WATCH_DOG是我的焦点。配置电源管理模块的方法,双击Components,双击power_manager。配置电源管理模块,使得代码可以调用查看复位原因的方法。在代码中调用查看复位原因的方法。
2023-03-15 11:33:59
2083
1
原创 S32K144 debug效果与直接运行效果不一致的问题解决
遇到的问题是在S32DS环境下debug单步调试,执行的效果与编码预期效果一致,但是把编译好的hex文件下载到S32K144芯片中,执行的效果和调试的不一致。将J-Link下载器从开发调试的板子拔下来,重新给板子断电上电,程序执行效果符合预期,执行正常。最后,再遇到debug效果与预期一致时,说明代码没问题,是其他原因导致的直接运行效果不符合预期。在现象分析的第3步,虽然给板子断电重上电了,但是J-Link还是连接着电脑,带电的。J-Link下载的固件是没有问题的固件,下载提示成功也没有问题。
2023-03-10 14:37:01
540
原创 S32DS debug模式的Expressions窗口设置
我安装了S32 Design Studio for ARM Version 2.2,debug调试的时候需要监视变量的变化,可是这个IDE安装完后默认没有Expressions监测变量的窗口。以上是在debug模式下,开启变量监测Expressions窗口的方法。最后边调试边查看要监测变量值的变化。添加变量监测的方法如截图。
2023-03-10 13:08:21
1039
原创 解决ubuntu22.04虚拟机环境下无法连接本机摄像机的问题
VMware 搭载ubuntu22.04系统下,通过"虚拟机"->"可移动设备"->连接电脑自带的摄像头,遇到了报错USB设备"Realtek Integrated_Webcam_HD"的连接失败。3、在服务列表中选中”VMware USB Arbitration Service”,双击打开属性对话框,再选择”启动”,就能启动VMware USB Arbitration Service服务了。4、查看效果,通过"虚拟机"->"可移动设备",这时可以看到已经连接上电脑自带的摄像机了。
2022-10-30 20:45:22
4892
2
原创 N32G455REL7 UART6 中断接收数据实验
使用国民技术的N32G455REL7新型号进行串口6中断接收数据及发送实验。在编码过程中遇到的坑就是寄存器的配置,只要寄存器配置好,一版来说就可以实现收发收据了。
2022-09-23 11:29:29
1183
原创 STC89C52 VS1838红外接收器自制家庭遥控灯开关
实践背景:小孩刚出生不久,每天夜里要醒来好多次,给孩子换尿不湿和喂奶,刚开始只能打开手电筒,拿着很费劲。于是就把自己家卧室灯调暗,再追加一个红外遥控,每次孩子哭闹,按一下遥控器的任意一个按键,就可以打开/关闭卧室灯,解决了我家庭的苦恼。材料准备:1、实验线路板/万能板一个(焊接电路使用)2、小型拨动开关一个(给单片机供电/断电使用)3、5V手机充电器一个(电路供电)4、STC89C52单片机一个(核心器件)5、12MHz晶振一个(单片机最小系统器件)6、33pF电容两个(单片机最
2020-11-01 23:12:23
3524
原创 STM32F40X USART1 DMA串口数据收发
之前的文章描述过STM32F10X USART DMA串口收发数据的文章,近期接触了STM32F4,使用习惯了USART DMA方式,就不愿意用中断的方式接收数据,了解了并习惯串口DMA后,还是觉得真香!本文主要描述STM32F40X USART1 DMA的配置以及简单的测试。相对于STM32F1的串口DMA配置,STM32F4的串口DMA相对更复杂一点儿,毕竟STM32F4的功能还是强大很多。由于要配置STM32F4的USART1 DMA,根据datasheet的描述,做相应的配置US
2020-08-29 22:44:11
761
原创 STM32F1 USART DMA Modbus Master的实现
本文主要描述使用STM32F1 USART2的DMA方式来实现Modbus主机程序。首先简单了解下Modbus协议,在https://modbus.org/docs/Modbus_over_serial_line_V1_02.pdf(不知道为啥网站有时候打不开)MODBUS官网上下载到了Modbus_over_serial_line_V1_02.pdf文档作为理论指导。MODBUS协议简介:MODBUS串行总线协议是主从协议。一个主机连接到总线,一个或多个(最多247)从机也同样连接到这个总线上
2020-08-09 21:50:45
2009
1
原创 STM32F1 MCP23017 IIC扩展IO口驱动16路LED指示灯
MCP23017芯片是通过IIC来扩展IO口用的,看了datasheet后,了解到其功能之强大,能作为输入也可以作为输出。作为输入时,还可以通过中断来通知输入引脚电平变化。本文主要描述MCP23017扩展IO时作为输出来驱动LED的过程、实现、及注意事项。电路接线示意图:A0/A/A2器件地址选择引脚都接入到GND,MCP23017器件的地址为0x40。MCP23017器件有很多寄存器地址,首先要关注的是BANK的值默认是多少。从datasheet给出的表格可以看出,BANK的值
2020-08-01 12:35:57
8933
22
原创 STM32F1 TCA9548A 驱动多个IIC器件
TCA9548A的用途就是IIC扩展,每个TCA9548A可以扩展出8路IIC。TCA9548A芯片带有地址选择引脚A0/A1/A2,根据高低电平不同,从MCU的一路IIC最多可以接入8个TCA9548A芯片,从而可以达到扩展出8*8=64路IIC的效果。在什么情况下会使用到TCA9548A芯片来扩展?当一个MCU想要驱动多个器件地址相同的芯片时,如驱动8个OLED时,OLED的IIC器件地址为0x78,要用MCU引出8路IIC的硬件线路?显然得不偿失,这时候用TCA9548A就再合适不过了。下面是
2020-07-30 21:34:48
8640
29
原创 STM32 ADC NTC热敏电阻二分(折半)查表法实现测温功能
本文主要描述 - STM32 ADC NTC热敏电阻二分(折半)查表法测温功能的思路和代码实现NTC的相关属性:R25=10K±3% B25/50=4100K±3% 10K上拉STM32 ADC实现NTC测温的电路示意图如下:STM32的ADC分辨率为12位,模数转换的范围 0~4095(0x000~0xFFF)针对以上描述的NTC属性以及电路,对应的温度和测量的数字量的关...
2020-04-28 01:22:27
16520
13
原创 STM32 SP706S 外部看门狗的应用示例
看门狗是防止程序跑飞的一种兜底方案,STM32有自己片内的独立看门狗和串口看门狗,但是很意外的发现我测试片内的看门狗不好用,关闭了一扇门的同时,我又发现了一扇窗,板子上有SP706S外部看门狗芯片,那么STM32 SP706S的测试就应运而生。STM32和SP706S的电路部分说明示意图关于SP706S的文档描述对于SP706S来说,WDI是输入,那么对于STM32来说,对应连...
2020-04-25 00:05:56
6938
原创 STM32 W5500 MQTT Client 发布订阅及断线重连
使用STM32 W5500做MQTT Client,使得数据上传broker,并接收broker传来的消息,并支持断网/拔网线再插入网线能够重新连接broker这样的功能,需要具备以下条件:1、STM32 W5500基础入网配置,使能PC电脑端可以PING通W5500。2、STM32 W5500的TCP Client收发数据的回环测试没有问题。3、了解MQTT协议。关于MQTT的介...
2020-04-24 00:13:14
8181
5
原创 STM32 W5500 HTTP Server 微型web服务实现
嵌入式Web服务很常见,比如电脑通过WIFI接入网络,在浏览器地址栏输入 "192.168.1.1",或者其他地址,跟自己电脑的IP在同一个网段内,一般IP最后一段是1即可,可以打开路由器的管理页面。就像这样:这个页面就是有嵌入式小型web服务提供的网页。STM32 W5500几乎也可以实现上述的功能,但是由于STM32的RAM和FLASH储存大小是有限的,实现一个简单的web服务是没...
2020-04-22 00:09:27
13382
17
原创 STM32 W5500 HTTP Client POST 方式请求/提交网络数据
现在想让STM32 W5500通过HTTP Client POST的方式提交数据到远程服务器,并接收服务返回的JSON格式数据,解析和处理。实现以上功能,需要具备几个条件:1、STM32 W5500的基础配置,使得PC和W5500在同一个局域网内,PC可以PING通W5500。2、STM32 W5500的TCP Client可以成功发数据,HTTP协议是基于TCP协议之上封装的协议。...
2020-04-19 15:34:31
10919
12
原创 STM32 W5500 OTA功能 - bootloader及app的设计和实现
简述片内FLASH区域划分Bootloader功能设计与实现App功能设计与实现测试与结果总结
2020-04-18 21:32:22
2510
3
原创 STM32 W5500 Http Client Get请求 下载bin文件思路和实现
这两天在做STM32 W5500通过HTTP GET请求的方式下载bin文件,以实现OTA在线升级,到网上查了一圈,发现并没有很多有效的信息和资料。于是我就实现了一下,把思路和实现过程分享出来。实现W5500文件下载的几个前提:1、STM32 W5500的基础配置,使得 电脑端的CMD命令窗口能够PING通W5500,《STM32F103RC驱动W5500入网,并可ping通》。2、S...
2020-04-16 16:51:54
8290
6
原创 STM32F103RC W5500 NTP获取网络时间实现
NTP 是网络时间协议,将获取到的网络时间同步到本地,是本地时间与网络同步。一般来说,STM32通过W5500从NTP服务器获取到之后,会存同步到DS1302时钟芯片中,再读取DS1302时间在应用中使用。DS1302的时间设置和读取,可以参考《STM32F10x读取DS1302的时间,通过USART显示在串口调试助手上》。NTP协议是基于UDP基础上封装的协议,NTP报文格式 可以...
2020-04-13 23:24:10
3776
2
原创 STM32F103RC W5500 DNS Client端实现
DNS即域名解析服务。当我们想用W5500访问一个接口的时候,只给了接口的URL地址,但W5500实际通讯的时候需要用到IP地址,那么通过DNS域名解析服务,就可以实现将域名解析成接口对应的IP地址。DNS是基于UDP通信基础上封装了自己的协议报文的。关于DNS的协议报文,请参考《DNS(域名解析协议)详解》。STM32 W5500实现DNS Client 需要以下几点:1、ST...
2020-04-10 23:14:58
1201
原创 STM32F103RCT6 W5500 DHCP 实现过程分析
对于DHCP的介绍,引用一下百度百科的相关内容:W5500传输网络数据,通过TCP、UDP来实现,也必须要有IP地址。要么给W5500设置一个固定写死的IP地址,这样的话,在不同的网络环境下,并不通用。有的局域网段的IP地址是 192.168.1.XXX;还有的局域网段IP地址是 10.0.0.XXX等等,写死固定IP地址,显然不太合适。那么DHCP的应用,就可以解决复杂的网络环境的IP地...
2020-04-09 00:05:04
7155
原创 STM32 W5500 TCP Server 回环测试
做了STM32 W5500联网通讯几个月了,回头总结一下 STM32 W5500 的TCP Server要注意的一些点:1、有好用的W5500基础支持库2、在PC的CMD命令窗口中可以PING通W5500设备。3、在测试的时候,条件允许登录到路由器的管理页面,查看连接设备是否有W5500的有线连接(非必须)。满足以上几点,基本可以测通TCP Server的回环测试了。贴出测试的...
2020-04-06 12:21:25
2489
1
libeay32.dll
2016-03-09
mqtt java jar
2016-01-25
ViewPagerDemo.zip
2015-09-15
XUtils上传文件.zip
2015-09-09
BroadCastDemo.zip
2015-08-07
MyCallback.zip
2015-08-02
自定义ProgressDialog
2015-07-22
SharedPreference示例
2015-05-14
安卓UDP文件传输
2015-05-07
车载嵌入式S32K312 DTCM 操作示例代码
2023-11-02
01_W5500_UDP_send.rar
2020-03-31
stm32f103rc_w5500_ping.rar
2019-09-16
Holiday.rar
2017-07-17
POI读取Excel大文件-输出cvs文件.rar
2016-09-22
POI读取Excel大文件.rar
2016-09-21
libeay.dll.rar
2016-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人