iU小可乐
码龄3年
求更新 关注
提问 私信
  • 博客:9,129
    9,129
    总访问量
  • 18
    原创
  • 76
    粉丝
  • 19
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
加入CSDN时间: 2021-12-20
博客简介:

weixin_65566784的博客

查看详细资料
个人成就
  • 获得64次点赞
  • 内容获得1次评论
  • 获得43次收藏
  • 博客总排名66,150名
  • 原力等级
    原力等级
    3
    原力分
    191
    本月获得
    14
创作历程
  • 7篇
    2025年
  • 11篇
    2024年
成就勋章

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 2

TA参与的活动 0

创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

使用CODEWARRIOR根据LDF文件生成配置文件

2.将com.freescale.ncftool_1.5.3.jar插件压缩包放置到CW安装目录下的eclipse文件夹即可。1.首先安装codewarrior IDE,此时打开IDE后是无法生成配置文件的,因为没有安装对应的插件。3.之后重新打开IDE就可以使用LDF文件生成配置文件了。
原创
发布博客 2025.05.15 ·
153 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

中断冲突问题

1.在项目中使用UART打印log,串口发送功能异常;后面排查发现是中断发生了冲突,项目中CAN和UART中断优先级设置成相同,导致冲突。后面将UART优先级改小就正常了。2.在使用MCU的过程中,需要格外注意中断冲突,或DMA冲突问题。如果发现单独调试某个外设没有问题,一直到项目里就出现异常,可以往这方面考虑。
原创
发布博客 2025.03.25 ·
123 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

复旦微芯片DMA问题

1.在项目中使用复旦微LE系列MCU,ADC使用DMA搬运数据,为了调试方便使用UART1发送数据,但发现ADC和串口不能同时使用,开启UART1发送数据功能,就会使DMA搬运ADC值失败。5.从手册中看出UART1的TX脚也是DMA的通道4,所以怀疑是通道冲突导致的,将DMA搬运ADC数据的通道改为0,发现ADC和UART1功能都正常了。3.使用DMA通道4进行搬运ADC数据。
原创
发布博客 2025.03.22 ·
239 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SAE J1850查表法的另一种实现方法,业内通用

汽车电子行业使用的CRC8校验通常是SAE J1850算法,通常使用查表法时,SAE J1850和 SAE J1850 ZERO使用的值表是同一个。
原创
发布博客 2025.03.03 ·
196 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SAE J1850标准和SAE J1850 Zero标准

网上查找的例程大多是采用SAE J1850 Zero标准,而SAE J1850的CRC数值表几乎搜不到,博主项目中使用的CRC数值表是用自己写的demo程序printf获得的。SAE J1850标准多项式为0X1D,初始值0xFF,异或值为0xFF;而SAE J1850 Zero标准的多项式为0X1D,初始值0x00,异或值为0x00。SAE J1850标准常用于汽车电子通信的校验,一直没搞懂这两种CRC8校验标准的区别,现将自己的理解记录如下。下面例程中同时提供了实时计算CRC的函数,均已测试验证过。
原创
发布博客 2025.02.28 ·
304 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

IAR 环境中使用jlink烧录程序报Busy错误

解决办法:重新插拔jlink连接线,如仍无法解决,则换根方口数据线就好了。
原创
发布博客 2025.02.14 ·
257 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

JFlash提示Could not find CFI complaint flash device错误

(2)在弹出的Project setting窗口中选择MCU选项的Device后面的三个点,选择对应的MCU型号;三. 由此可见应该是JFALSH工程的芯片型号的选择与目标板的实际型号不一致导致的,所以要重新选择MCU型号。(1)点击options选项下的Project setting。(3)此时JFLASH窗口左侧可以正常显示出目标MCU的型号,(4)此时下载程序有可能仍然无法重新烧录,建议重新新建工程,新建工程最方便有效。
原创
发布博客 2025.01.03 ·
756 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

IAR编译器报Error[Li005]:no definition for ‘‘ ‘‘

在使用项目中放开之前注释掉的代码,发现编译后一直报Error[Li005]: no definition for "App_Demm_Task" [referenced from D:\WORK\THCQ\UAZ\Code\Switch\UAZ_Switch_Encoder\IARProject\Debug\Obj\main.o] 故障,但发现能正常找到函数定义和声明并且在mian.c中也包含了头文件;如下图所示源文件是灰色的。博主亲测直接右击选择添加文件是没有用的,重新加载后图标仍然是灰色的。
原创
发布博客 2024.12.11 ·
625 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

RingBuffer循环缓冲区的应用

在项目中用到了编码器功能,编码器的报文发送周期是40ms,如果滚动编码器的速度过快就会出现丢帧的问题,为了解决该问题在代码中引入了Ring buffer。如上图所示,示波器抓取到编码器滚动了9次(该编码器一次边沿跳变认为是一次有效信号),CANoe检测到该编码器信号也发送了9次,没有出现丢帧的现象。
原创
发布博客 2024.11.29 ·
453 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

CDD文件制作

2.打开该软件,点击open选项,选择Vector Examples,选择Vector_UDS_2.5.0.cddt文件,并选择Expert View,之后点击open就自动打开了模板文件。12.进行诊断,在CANoe中点击Diagnostic Console,弹出如下窗口,在ECU Identification中进行软件版本号和供应商编码的读取。需要注意的是在制作CDD文件时,要选择CDDT后缀的模板,如选择CDD后缀的文件可能会导致有部分内容无法编辑。10.将编辑好的CDDT文件另存为CDD文件。
原创
发布博客 2024.11.20 ·
841 阅读 ·
7 点赞 ·
0 评论 ·
16 收藏

CRC 应用实例

CRC J1850算法,网上有很多教程,大多都是讲解原理的,对于不关心原理的小伙伴,可以直接使用现成的代码段就好。使用CRC算法时,主要关心CRC的多项式,CRC的初始值,CRC的异或值,还有需要校验的数据,CRC的数据位宽。CRC多字节校验数据举例,带校验的数据是0x10和0xA0,代码段校验后的数据是0x15。如下图所示:需要CRC校验的数据时0xA0,代码段运算后的CRC数据是0xA1。验证方法,网上有很多CRC计算器,这里推荐一个比较好用的在线CRC计算器。
原创
发布博客 2024.11.14 ·
277 阅读 ·
6 点赞 ·
0 评论 ·
3 收藏

IAR将数据从0x00地址开始存放

单片机的0x00地址一般是主栈指针初始化地址,用户如需将数据存放到这部分地址中,需要将中断地址重新配置,有BOOT功能的项目一般都需要重新映射。首先将链接文件.icf 的Vector Table和Memory Regions根据需求重新配置,我这里改为了0x1000。第二步就是将SystemInit函数中重新映射中断向量地址;需要注意的时该地址要与上一步中修改的.icf数值保持一致。第三步之后就可以根据需要将数据保存在0x00~0x1000地址段的任意位置了。
原创
发布博客 2024.10.16 ·
226 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

IAR 关键字之root

用法举例:__root const uint8_t SW_Version[]@0x8000 = {'S','W','1','.','0','.','0','0'};定义了一个常量数组用于表示当前项目的软件版本,@0x8000用于指定该数组存放的位置,即从0x8000地址开始存放数组中的数据。即使该变量未被使用,也会被包含在代码内。可以看出在地址0x8000处存放的数据与代码中的SW_Version[]中的内容一致。可以看出在地址0x8000处存放的数据与代码中的SW_Version[]中的内容一致。
原创
发布博客 2024.09.04 ·
493 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

单片机软件复位

在软件复位期间,系统的各个部分需要进行一系列的重置和初始化操作,包括状态寄存器、外设寄存器等的清零。如果在复位操作期间,程序继续向下执行其他代码,则可能会导致不可预测的错误和异常情况。因此,通过在软件复位函数中使用一个无限循环,可以确保系统在复位期间停留在复位函数内部,直到复位操作完成。一旦复位操作完成,系统将重新启动,开始执行主程序中的代码。这样做的目的是为了避免在软件复位期间可能发生的意外情况,确保系统能够稳定地进行复位操作。函数,该函数用于设置软件复位的标志位,通知系统进行软件复位操作。
原创
发布博客 2024.09.03 ·
658 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

IAR 内置jlink版本与实际安装的jlink驱动版本不一致问题

根据该博客,将相关文件覆盖后,再次打开IAR发现仍无法识别芯片;后面发现是忘记执行下面这个JlinkDLLUpdater.exe程序。因为前面已经使用心得DLL文件覆盖Jlink安装路径下的DLL文件了。所以要手动执行这个文件,进行更新,用于匹配新的DLL文件。IAR更新内置JLink_iar jlink-CSDN博客。双击弹出如下对话框,点击OK。请参考这位博主的博客更新。
原创
发布博客 2024.09.02 ·
1127 阅读 ·
11 点赞 ·
0 评论 ·
8 收藏

IAR编译器文件路径问题记录

2.通过手动选择文件的路径,或根据上下文规律将$PROJ_DIR$\Source\drv\Adc手动输入后再重新编译烧录到控制器中,功能正常。总结:IAR工程路径不对导致失常。上版程序的压缩包解压后路径与绝对路径不相符,导致也无法正常使用。导致程序可以正常编译,但功能失常,使用上版功能正常程序的压缩包解压后烧录进去功能也是异常的。背景描述:文件的路径问题导致程序烧录后,控制器功能异常。
原创
发布博客 2024.08.30 ·
670 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

使用VScode编译下载keil工程

最近打算学习下STM32单片机,keil5的页面有点丑,所以想着使用VScode关联keil5以实现使用VScode开发STM32项目,在网上搜索相关教程,很容易实现,以下是搭建开发环境的步骤。步骤4:弹出如下对话框,将Keil的安装路径复制到下面的对话框中,第一个是C51,第二个是ARM根据自己的需要添加即可,我只用ARM所以只填写了一个。步骤3:安装完Keil Assistant插件后,点击扩展设置。步骤5:导入keil5工程,点击2图标,步骤7:点击编译后,提示无错误无警告。
原创
发布博客 2024.06.02 ·
1373 阅读 ·
8 点赞 ·
2 评论 ·
8 收藏

STM32外设初始化问题

2.如下图所示先开启RCC时钟,再对相应的GPIO进行初始化,能够正常点亮LED。1.如下图所示完GPIO后再开启RCC外设时钟,无法正常点亮LED。在初始化外设前必须先进行RCC的时钟初始化。在学习STM32时发现。,否则将无法正常配置外设功能。
原创
发布博客 2024.06.01 ·
326 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏
加载更多