自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

去流浪

沉沦在这时空的放逐之地,循环往复,止步不前,我期盼能看到那一丝光明

  • 博客(250)
  • 资源 (5)
  • 收藏
  • 关注

原创 杰发科技AC7840——打印所有GPIO的PORT配置寄存器

该代码通过循环读取内存地址0x40085200开始的寄存器值,每次读取32个32位寄存器数据。外层循环5次(j=0-4),每次偏移0x100地址,对应端口P0-P4。内层循环读取每个端口的32个寄存器值,每5个寄存器换行显示。最终输出格式为"PxNN:0xvalue",其中x为A-E(对应P0-P4),NN为寄存器编号00-31。代码实现了对连续内存区域寄存器值的格式化读取和显示功能。

2026-02-02 21:07:02 106

原创 杰发科技AC7840——PWM触发多路ADC采样

本文探讨了PWM触发ADC采样的实际应用问题。通过测试发现:1) 初始化顺序会影响首次采样点位置,在20kHz PWM下需将CTU模块最后初始化;2) 采用向上计数模式+Init触发方式可使采样点位于PWM周期中间位置;3) 注入组存在中断丢失问题,需直接通过寄存器读取数据。实验数据显示两个ADC中断间隔约600ns,验证了硬件触发的精确性。文中提供了完整的ADC/PWM/CTU配置代码,并指出规则组测试存在异常情况待解决。

2026-01-27 15:45:17 441

原创 杰发科技AC7840——PWM触发ADC采样

本文分析了7840芯片PWM模块的关键特性,重点探讨了PWM波形异常问题及其解决方案。研究发现PWM存在初始电平配置问题,在低电平有效模式下,初始高电平会导致首个周期异常延长672us(超过正常周期666us)。通过将初始电平设为低电平可解决该问题。同时发现PWM在deinit时会产生电平"小尾巴",这是由模块关闭时的强制拉低导致。在ADC采样方面,确定了使用PWM最大值触发和init触发两种方式,其中init触发配合中心对齐模式能实现理想的中间点采样。

2026-01-23 11:29:34 761

原创 杰发科技AC7840/AC7843——standby模式保留ram数据

keil的sct中配置如下代码调用在休眠之前定义退出休眠后发现数据保留了。

2026-01-16 10:25:47 327

原创 Gitlab配置——无法添加秘钥,TortoiseGitPlink要求输入密码

查看getlab的help怎么搞都不行请教大佬之后提示git版本过高,于是在csdn下载上找了个2.14.2版本的git就ok了(git官网好像没有放历史版本下载了)想起来好像在win10笔记本上安装小乌龟时候也提示了小乌龟版本过高,不知道和这个有没有关系目前使用的是这两个版本。

2026-01-13 15:31:36 410

原创 杰发科技AC7840——CSE的CMAC校验

CMAC与MAC的主要区别在于CMAC是基于分组密码的认证算法。加密时需确保128bit数据存放在Flash而非RAM,否则会导致hardfault。由于7840芯片的大小端特性,需对原文、密码及结果进行翻转处理。在线CMAC计算工具(lddgo.net)支持带空格的输入,计算结果需与翻转后的数据比对验证。具体翻转操作可参考例程9中的实现方法。注意加密数据长度不足128bit或使用RAM数组都会导致程序异常终止。

2026-01-12 13:52:41 190

原创 杰发科技AC7840——CSE安全启动

本文简要介绍了安全启动的实现流程:1)加载boot_mac_key并设置引导参数,计算boot_mac值;2)通过修改前后的hex文件进行验证测试,结果显示修改后的文件因数据差异导致验证失败,而未修改文件能成功匹配mac值。该流程确保了系统启动的安全性验证机制。

2026-01-12 10:59:00 389

原创 杰发科技AC7840——关闭CSE模块

摘要:当CSE模块存在时无法执行全片擦除或测试后,需先关闭该模块。操作步骤包括:1)验证主密钥正确性;2)处理DBG指令返回409错误(需初始化随机数);3)完成擦除操作。整个过程强调密钥验证和随机数初始化对擦除功能的关键作用。(98字)

2026-01-12 10:04:58 174

原创 杰发科技AC7840——CSE加载秘钥和更新秘钥

问了大佬之后,知道了,blankkey作为更新masterkey的原因,是因为最开始时候所有的key都是空的,也就是ff,blankkey就是全ff,所以可以对所有的key进行更新,因此可以对masterkey进行更新,但是在masterkey更新之后,已经有了数据,就不能再用blankkey对masterkey进行更新,只能用masterkey对他自己更新,因此做了如下测试,都更成功了。复位之后也是无法再次更新,这个更新次数是放在flash里面的,更新次数必须比之前的大才行。修改次数和,秘钥也不成功。

2026-01-09 19:16:16 347

原创 杰发科技AC7840——测量时钟频率

摘要:通过GPIO配置可实现时钟频率输出,但电压随频率升高而降低。代码示例展示了如何设置GPIO为输出模式(PORTD_10),并输出不同频率的时钟信号(20MHz-120MHz)。可选的时钟源包括HSECLK、HSICLK、SPLLCLK等多种类型。实验表明,120MHz不分频时无法输出,而60MHz时电压降至480mV左右。系统时钟120MHz经6分频后可输出20MHz信号。

2026-01-09 11:03:52 289

原创 杰发科技AC7840——真随机数和伪随机数

本文对比了真随机数和伪随机数的生成机制。通过CSE_DRV_InitRNG初始化真随机数生成器,使用CSE_DRV_GenerateRND生成128位随机数。测试表明,在1.3亿次生成中未出现重复值,且1000万次生成耗时约1分钟。而使用CSE_DRV_ExtendSeed的伪随机数生成速度较慢,1000万次耗时约1分40秒。结果表明,硬件真随机数生成器具有高效性和良好的随机性,重复概率极低。

2026-01-09 09:38:19 166

原创 杰发科技AC7840/7843——晶振修改

修改完断电重启后才能生效。

2025-12-22 11:03:49 202

原创 vscode关闭coplit功能

设置->搜索github copilot->点这个禁用功能就没了,不然老是看到他很烦,登录半天又登不上。搜了一圈没找到怎么关掉,百度ai搜出来了。正好公司给了通灵义码还挺好用。

2025-09-18 17:14:35 835

原创 杰发科技AC7840——硬件crc使用

CRC16使用的是CRC-16/XMODEM。

2025-07-21 17:25:32 370

原创 iar cannot open source file “core_cm0plus.h“

把keil文件夹core_cm0plus.h的copy过来之后,发现还缺少其他文件,例如#include "cmsis_version.h"iar缺少core_cm0plus.h。只需要勾选cmsis即可。

2025-07-04 16:18:55 398

原创 杰发科技AC7801——GPIO+定时器最简单例程

【代码】杰发科技AC7801——GPIO+定时器最简单例程。

2025-06-14 15:55:17 222

原创 杰发科技AC7801——使用内部晶振

IC_CLOCK_SRC_HSE改为IC_CLOCK_SRC_HSI即可。修改为内部HSI就是内部8M晶振。

2025-06-04 10:27:40 498

原创 杰发科技AC7840——Timer修改重装载值

需要在运行过程中修改定时器的中断时间。以下两个接口都可以使用。

2025-06-04 10:21:19 400

原创 杰发科技AC7840——CSE硬件加密模块使用(2)

不要随便修改主秘钥,本次跑代码过程中,对主秘钥进行修改,导致无法对cse模块恢复出厂设置。

2025-05-28 16:17:47 739 1

原创 通过Jflash合并Boot和App两个hex为一个hex的办法

1. 打开J-Flash软件,点击file->open data file选项打开bootloader文件boot.hex。3. 此时已经合并文件,再点击file->save data file as…保存合并后的文件即可。2. 再点击file->merge data file选择并打开app程序文件app.hex。jlink烧录调试工具自带了J-Flash工具,使用该软件工具来完成对hex文件的合并。

2025-05-26 21:55:58 758

原创 BeyondCompare设置白色背景

默认英文,找了好久没找到咋设置白色背景。

2025-05-26 02:17:36 285

原创 杰发科技AC7840——CSE硬件加密模块使用(1)

CSE_SECRET_KEY在17个用户KEY中体现。这里的CSE_CMD_RND在FuncID中体现了。最后的读取RNG值,可以看出计算结果在PRAM中。初次使用,添加和加载。

2025-05-22 21:23:44 632

原创 杰发科技AC7801——PWM获取固定脉冲个数

测试结果多了一个小脉冲,如果是边沿有效,可以减一个计数值。在初始化时候打开通道中断。在中断中对通道6开启计数。

2025-05-22 20:43:07 570

原创 杰发科技AC7840——使用内部温度

杰发的芯片都自带内部温度检测,在ADC通道中获取即可。7801自带了温度检测例程,7840不带,因此在这里分享一下相关温度检测代码。根据产线反馈,7840在常温时候25℃比较准,温箱测试,高温和低温下有5℃的误差。

2025-05-22 10:47:58 521

原创 杰发科技AC7840——如何把结构体数据写到Dflash中

测试之后,Dflash存储结构体数据,读写没问题。pflash中还有字符串数据,这个应该还要想办法解掉。8字节编程,因此如果结构体存放在Dfalsh中,进行写操作,需要写8字节的倍数。pack没有加DFlash算法,在keil中看不到数据,直接看hex可以看到。正常情况下,可以看到全局变量的结构体数据被存放在Pflash中。数字部分存在RAM中。

2025-05-20 14:51:19 561

原创 杰发科技AC7801——滴答定时器获取时间戳

杰发科技7801内部有一个滴答定时器,该定时器是M0+核自带的,因此可以直接用该定时器来获取时间戳。

2025-02-28 15:38:26 685

原创 杰发科技——使用ATCLinkTool解除读保护

注意:解除读保护会擦除flash中所有数据。使用atclinktool(在杰发官网下载该软件)读取的数据都是AA,擦除的时候提示读保护开启。

2025-01-03 19:05:23 1040

原创 杰发科技AC7803——不同晶振频率时钟的配置,超频使用

修改为24M晶振,可以参考12M晶振配置。

2024-11-27 22:35:00 734

原创 杰发科技AC7840——EEP中RAM的配置

比如需要4096字节的eep空间,可以把RAM的地址改成E000,即E000-EFFF,共4096bytes即可。这个在RAM中使用没有限制,根据这个表格留下足够空间即可。sample和手册中示例代码的sram区地址定义不一样。

2024-11-20 16:02:08 563

原创 杰发科技AC7801——ADC定时器触发的简单使用

在需要多次采样结果的情况下,比如1s需要10w次的采样结果,可以考虑使用定时器触发采样,定时器设置多少的时间就会多久采样转换一次。再加上使用dma,采样的结果直接放在dma的数组里面。实现了自动采样,自动保存,使用非常方便。

2024-11-19 15:43:55 982

原创 杰发科技AC7840——使用寄存器修改配置

【代码】杰发科技AC7840——使用寄存器修改配置。

2024-10-09 22:35:46 293 2

原创 杰发科技AC7801——使用EEP写版本号和日期

各位看官自己优化即可。

2024-09-29 18:53:50 589

原创 杰发科技——Eclipse环境安装

默认路径:C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\13.2 Rel1。默认路径:C:\Program Files (x86)\GnuWin32\bin\。搜索框输入tool打开toolchains。然后在项目中选择编译工具。

2024-09-23 18:08:57 707

原创 杰发科技Bootloader(3)—— 基于7801的APP切到Boot

2. 直接使用跳转指令,参考Boot跳转到App代码,把跳转地址改一下即可,然后在App中调用JumpTOBoot。为了方便在APP中跳转到Boot重新进行升级,有两种办法,7840同样可以使用。1. 调用reset接口进行复位,复位后会先进Boot,再自动跳转到App。

2024-09-09 14:06:20 1055

原创 杰发科技AC7840——EEP的EEP_HAL_OTHER_ERROR错误

在EEP使用手册里面有写答案。

2024-08-30 00:19:50 858

原创 杰发科技AC7801——Flash模拟EEP内存(2)_备份

配置如下计算地址查看地址内容,等到打印完成计算符合,从0-999共计1000。

2024-08-26 22:13:29 1314

原创 杰发科技AC7840——CAN通信简介(8)_通过波特率和时钟计算SEG_1/SEG_2/SJW/PRESC

上述验证全部正确,计算60Mhz 500K 80%配置。因此设置预分频2来计算配置(之前默认0计算结果都错的)上述验证全部正确,计算60Mhz 5M 75%配置。并且普通CAN的分频也是2,用文心一言验证100K配置。用文心一言验证7.5M配置。用文心一言验证50K配置。因为1M的分频在2,

2024-08-21 03:25:15 701

原创 杰发科技AC7801——GPIO通过寄存器地址控制高低电平

通过这个寄存器来查看控制的是哪个ODR值,使用sample,发现是0x20080068的第7和第9位。使用51控制寄存器的代码来置高置低代码,注意变量需要用unsigned int来声明。

2024-08-21 00:55:42 517

原创 杰发科技AC7811——Flash模拟EEP内存分布情况

写入数据都是32位长度,因此每次写入4个字节数据32bit数据,地址需要偏移4个。

2024-07-31 00:17:14 523

原创 杰发科技Bootloader(2)—— 基于7840的Keil配置地址

在7840的sample代码里面有一个简单的Boot跳转APP的示例。

2024-07-23 04:04:33 720

基于proteus多周期cpu代码,包含实验报告、答辩ppt、源代码

该资源包含多周期cpu实现代码、答辩ppt、实验报告。在proteusII 14.0 中成功运行,其他仿真工具应该也可以运行,开发板是DE1-SOC,代码包含CPU各个部件,顶层文件。代码是《计算机原理与设计:Verilog HDL版》书上的,自己加了可以在开发板上用7段数码管显示周期状态的代码。

2019-07-12

网上订餐系统(JavaWeb,jsp,spring等)

在网上搜不到可以正常运行的订餐系统,特上传本人最近作品。使用Myeclipse,mysql,jsp,tomcat7,实测可成功部署运行,压缩包内包含数据库表。如需帮助部署,可留言。本代码借鉴网络资源进行更改,本人实力不足,还不能完整写出网上订餐习系统,请各位见谅。

2018-06-22

Config_AD20_liuendong.DXPPrf

AD20的个人配置,方便开发

2021-08-27

MainSlaveTimer.zip

10000步,800细分,精准定位

2021-05-24

lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar

lwjgl 2.9.4 MC缺失包

2019-12-16

空空如也

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

TA关注的人

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