- 博客(62)
- 收藏
- 关注
原创 MDK stm32怎么生成bin文件
D:\Keil_v5\ARM\ac5.6\bin\fromelf.exe一个空格--bin一个空格-o两个空格../../Output/atk_f407.bin ../../Output/atk_f407.axf (相对工程的绝对路径 ../ 代表 上级目录下 ../../代表上上级目录下。相对工程的绝对路径 ../ 代表 上级目录下 ../../代表上上级目录下。MDK软件的安装路径下找到如下EXE文件。这句话代表输出bin文件路径。这句话代表axf存在的路径。
2024-04-17 21:18:10 372
原创 使用相对目录时候为什么在找不到文件
原文链接:https://blog.csdn.net/zfz09045235/article/details/128948614。../../ 子文件夹/子文件夹/子文件夹/文件名,相对于当前位置的上级的上级位置。../ 子文件夹/子文件夹/子文件夹/文件名,相对于当前位置的上级位置(父)\Drivers\SYSTEM\sys 上级目录为\Drivers。./子文件夹/子文件夹/子文件夹/文件名,相对于当前位置。/文件夹/文件夹/文件夹/文件夹/文件名。在选项卡添加包含路径;
2024-03-26 02:36:09 221
原创 DSP2335的时钟PLL配置
最终的系统频率=输入时钟*DIV/DIVSEL div 有对应的表 DIVSEL也是。使用此寄存器倍频后,等待PLLSTS寄存器的PLLLOCK位=1完全锁住如下说明。锁相环控制寄存器用于控制芯片 PLL 的倍数,在向 PLL 控制寄存器进行写操。(2)芯片不能工作在 LIMP 模式,即 PLLSTS[MCLKSTS]=0。(1)在 PLL 完全锁住后,即 PLLSTS[PLLLOCKS]=1。mclksts判断此位不能是1,如果是1。而下面的是振荡器(晶振出来)的时钟。
2024-01-08 22:33:31 465
原创 DBC文件的制作
msg是一帧数据的消息名字 , Signal Name是一帧消息里面的数据中的信号。3、打开candb之后--file---create database。14给每个帧的信号修改开始位,start bit;13、回到最开始帧消息窗口的下拉信号,给信号关联上合适的值表。其中数据的有自己的精度、偏移量、最大最小值的描述;每一个值代表什么描述,如0表示未使能,1表示使能;2、栏目--tools---打开can db。9、描述信号,以下三步都是在同一个窗口里进行的。10、给信号建立一个值表。
2023-10-29 08:08:33 113
原创 DSPF28335的一句话总结
只能观察每个寄存器,才能看到寄存器控制那个外设的时钟。如下图知道GPIO时钟控制在PCLKCR3。在技术参考中,找到时钟章节。
2023-10-25 01:12:36 45
原创 CCS新建工程f2833x
在F\my_study_project\TI_LED 的TI_LED文件夹。ccs软件的这个文件和工程的这个文件不兼容;需要ccs软件的这个文件去覆盖工程的。DSP2833x_Headers_BIOS (不使用BIOS)28335_RAM_lnk (新建工程带有)location 是工程的位置。塞进工程的文件太多了,所以问题多。先新建非中文工程文件夹。编译可以看到有重定义。
2023-10-23 23:23:53 235
原创 拓展外部SRAM
一个纵列表示当前使用的高速通道的时间,选一个纵列作为参数标准。还是选择55ns参数FSMC 包含四个主要模块:● AHB 接口(包括 FSMC 配置寄存器)● NOR Flash/PSRAM 控制器● NAND Flash/PC 卡控制器● 外部器件接口NBL[1:0] 在进行读取访问时为低电平。可以看出真个读取事物需要ADDSET 和DATAST时钟合。
2023-09-11 01:10:49 182
原创 进入低功耗和唤醒
如果使用 WFI 指令进入睡眠模式,则嵌套向量中断控制器 (NVIC) 确认的任意外设中断都会将器件从睡眠模式唤醒。如果使用 WFE 指令进入睡眠模式,MCU 将在有事件发生时立即退出睡眠模式。唤醒事件可通过以下方式产生:使能外设中断,但是不用NVIC。在内核系统控制寄存器SEVONPEND=1;配置外部中断为事件模式;
2023-09-06 11:31:49 573
原创 按键长按短按_按键弹起
描述:实现按键长按和短按的共同识别,兼容识别。使用轮询扫描法;当时间低于1s的按键松开就是短按,长按3秒之后松开就是长按;使用轮询模式累加;不能使用阻塞等待;
2023-09-05 16:17:34 97
原创 使用MDK5的一些偏僻使用方法和谋个功能的作用
需要勾选如下库,是优化后的库;MicroLib和标准C库之间的主要区别是:1、MicroLib是专为深度嵌入式应用程序而设计的。2、MicroLib经过优化,比使用ARM标准库使用更少的代码和数据内存。3、MicroLib被设计成在没有操作系统的情况下工作,但是这并不妨碍它与任何操作系统或RTOS一起使用,如Keil RTX。4、MicroLib不包含文件I/O或宽字符支持。5、由于MicroLib已经优化到最小化代码大小,一些函数将比ARM编译工具中可用的标准C库例程执行得更慢。
2023-09-04 03:22:51 248
原创 使用V6编译器有时候不能跳转到
路径出现其他中文字符,非ACSII码字符,也会导致编译器6不能正常跳转到定义处 以为就一个版本的编译器6出现这种情况 然后验证多个版本的编译器6,所以每个编译器6都一样只有编译器5可以正常跳转软件问题MDK多个版本安装之后还是不行重建新工程之后发现根本没有问题,而且是桌面,然后以为是目录深度问题然后放进去原来有问题的目录;最终经过多次尝试,是因为有中文符号,所以导致了工程有问题
2023-09-03 23:12:06 157
原创 FLASH读写数据
2. 在 FLASH_CR 寄存器中,将 SER 位置 1,并从主存储块的 12 个 (STM32F405xx/07xx。复位后,Flash 控制寄存器 (FLASH_CR) 不允许执行写操作,以防因电气干扰等原因出现对。Flash 擦除操作可针对扇区或整个 Flash(批量擦除)执行。1. 检查 FLASH_SR 寄存器中的 BSY 位,以确认当前未执行任何 Flash 操作。1. 检查 FLASH_SR 中的 BSY 位,以确认当前未执行任何主要 Flash 操作。不然会影响,擦除原来存储的程序;
2023-09-03 06:24:23 492
原创 DMK5框选变量之后不显示其他位置的此变量高亮
如下在2的位置选择之后,其他同样的变量没有高亮,因为1的原因折叠了;使用软件MDK5.3.8版本。展开折叠之后就可以了。
2023-08-28 03:02:42 90
原创 一句话的总结
**初步判断:是里面的操作,使得圆括号的数据变化过大(主要原因)**。但是还有一次是选取圆括号已经显示出为0,但是就是没跳出来。> 发生于IAR编译器里面:目标:需要一个条件跳出while 有时候一直在循环,即便小括号里面的条件可以为假可以跳出while。数据解析到结构体里面:成员变量名字后面可以带上占用位宽;然后到解析的时候就很清晰;
2023-08-17 15:25:16 53
原创 安全数字输入/输出接口SDIO
APB2对于F407来说等于168M/2=84M;APB2等于PCLK2:提供给适配器寄存器和FIFO使用SDIOCLK等于PCLK2:控制单元、命令路径、数据路径使用SDIO_CK:提供给sd卡的时钟;通过SDIO_CLKCR时钟控制寄存器配置可得;公式如下。
2023-07-21 20:25:54 272
原创 stm32的蓝牙串口模块的总结,ATK-MW579 模块
模块分主次模块,用指令设置一个为主模块,一个为次模块。不然扫不出来周围蓝牙;所有的指令使用之前,首先进入配置模式,使用进入配置模式指令;配置完了,进入数据传输就得用这个指令;,没有上电就可以传输的指令;无论是从机还是主机,
2023-07-10 16:04:50 742
原创 mdk5.38a版本使用v6编译器6.19、6.20,下载,安装编译器,pack固件包,外设标准库。
因为使用编译器V5太慢,并且我需要的编译调试次数又多,所以需要采用了v6进行编译,v6编译器可以更快;此次花了很大的精力研究,研究了差不多2周,使用的是stm32f4;
2023-06-05 02:31:36 78
原创 IAR工程在8.1版本和9.3版本的切换
公司使用的是8.1版本的软件;为了版本一致性所以基本上不会改变8.1版本的IAR软件;但是IAR又不太人性化,相对9.3版本功能落后;需要友好的背景,框选,配置等;
2023-05-29 19:25:38 1333
原创 函数形参之不定长参数列表va_lis,va_start,va_arg,va_end,vsprintf
对ap 进行初始化,让它指向可变参数表里面的第一个参数,这是通过 va_start 来实现的,第一个参数是 ap 本身指向fmt,第二个参数是在变参表前面紧挨着的一个变量,即“…它的第一个参数是ap,第二个参数是要获取的参数的指定类型,然后返回这个指定类型的值,并且把 ap 的位置指向变参表的下一个变量位置;在内部,函数从arg标识的列表中检索参数,就好像va_arg被使用了一样,因此arg的状态很可能被调用所改变。调用函数指定用到va_list类型的指针;:不定长参数的最后一个,也是参数的第一个。
2023-05-27 17:38:18 148
原创 IAR上新建工程stm32f030
关于stm32f030直达地址(附加);有时候下面框框的下载页面会加载不出来;可能浏览器的原因;我的百度网盘地址1.6版本:链接:https://pan.baidu.com/s/14cMxDMcC2ENFaZnh5va23g?pwd=s45o提取码:s45o--来自百度网盘超级会员V7的分享。
2023-05-13 02:38:52 438
原创 关于030锁相环PLL时钟
最初是用库函数的RCC_GetClocksFreq(& RCC_Clocks1);这个函数来获取频率数据的;是的这个很好用;得到的数据如下;弊端:但是这个是有弊端的,因为这个测量的依据是按照寄存器的配置位来计算的;比如定性的认为外部输入时8m。如果外部时钟是12m,经过PLL时钟就错误了大了;结果:用了这个函数计算出来的是sysclk频率48M。当初以为没错,其实错大了;计算。
2023-05-12 00:20:52 435
原创 定时器原理+pwm输出
时基单元包括:● 计数器寄存器 (TIMx_CNT)● 预分频器寄存器 (TIMx_PSC)● 自动重载寄存器 (TIMx_ARR)由图基本知道,所需的时钟、分频、预装载、计数器这几个寄存器构成了一个基本定时中断;
2023-04-27 00:08:16 626
原创 输入pwm(高级捕获)
1、输入pwm捕获就是两个捕获寄存器在同时工作,两个比较寄存器是不同触发边沿触发的;比如:设置捕获1为上升沿,捕获2就是下降边沿触发;2、并且是捕获的到的值是计数器的值,而这个计数器值是通过影子寄存器得来的。并不是直接读取计数寄存器的值。边沿触发时候影子寄存器的发挥作用然后捕获寄存器就可以得到相应的值3、在捕获中断中,应该尽量的简洁。因为触发边沿如果是高频率的,捕获的值将会跳过好多次。捕获到下一次就是虚假的值。比如串口打印函数就占用很多时间;4、先来个图片,手册的图片。
2023-04-23 21:50:58 1277
v6+mdk5.38a的工程版本空
2023-06-15
stm030固件包手册资料+hk030固件包手册资料.zip
2023-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人