![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式开发
文章平均质量分 88
相关内容
万码无虫
这个作者很懒,什么都没留下…
展开
-
ARM学习目录
无原创 2022-08-23 20:38:35 · 1710 阅读 · 1 评论 -
Modbus协议基础
Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的应用层总线协议。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed AutomaTIon,分布式自动化接口)组织,并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。IDA是一种完全建立在以太网基础上的工业以太网规范。原创 2024-05-27 22:15:58 · 227 阅读 · 0 评论 -
profinet协议基础
PROFINET是一种用于工业自动化领域的创新、开放式以太网标准(IEC61158)。PROFINET采用TCP/IP和IT标准。PROFINET基于工业以太网,是一种实时以太网。通过PROFINET,分布式现场设备可直接连接到工业以太网,与PLC等设备通讯。原创 2024-04-18 22:25:34 · 731 阅读 · 0 评论 -
LIN总线基础
LIN(Local Interconnect Network)是一种低成本的串行通讯网络,用于实现汽车中的分布式电子系统控制。LIN 的目标是为现有汽车网络(例如CAN 总线)提供辅助功能,因此LIN总线是一种辅助的总线网络。在不需要CAN 总线的带宽和多功能的场合,比如智能传感器和制动装置之间的通讯使用LIN 总线可大大节省成本。相对于CAN总线而言,LIN总线协议较为简单,对单片机的要求也并不高,基本的串口就可以实现,因而成本较低。原创 2024-04-05 12:56:51 · 627 阅读 · 0 评论 -
39 MDK 的编译过程及文件类型全解
编译,MDK 软件使用的编译器是 armcc 和 armasm它们根据每个 c/c++ 和汇编源文件编译成对应的以“.o”为后缀名的对象文件 (Object Code,也称目标文件)其内容主要是从源文件编译得到的机器码,包含了代码、数据以及调试使用的信息;链接,链接器 armlink 把各个.o 文件及库文件链接成一个映像文件“.axf”或“.elf”;格式转换一般来说 Windows 或 Linux 系统使用链接器直接生成可执行映像文件 elf 后,内核根据该文件的信息加载后,就可以运行程序了。原创 2024-02-09 16:09:27 · 547 阅读 · 0 评论 -
21 RT1052的LPIIC
RT1052 的 I 2 C 外设可用作通讯的主机及从机支持标准模式 100Kbit/s、快速模式 400Kbit/s、高速模式 3.4Mbit/s 以及超高速模式 5Mbit/s 的传输速率支持 7 位、10 位设备地址支持 DMA 数据传输具有数据校验功能支持 SMBus2.0 协议SMBus 协议与 I 2 C 类似,主要应用于笔记本电脑的电池管理中。原创 2024-01-16 22:55:46 · 445 阅读 · 0 评论 -
IIC协议
IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行总线。原创 2024-01-15 21:45:48 · 987 阅读 · 0 评论 -
CAN协议
CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议。Controller意味着 ECU electronic control unit电子控制单元。ECU集成了供电系统 单片机 驱动系统,是汽车里面最小的控制模块。CAN就是为了让ECU进行通讯而设计。组成局域网进行通讯。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。原创 2024-01-07 12:55:28 · 907 阅读 · 0 评论 -
Keil使用手册
这个警告是在告诉我们,在某个 C 文件的最后,没有输入新行,我们只需要双击这个警告,跳转到警告处,然后在后面输入多一个空行就好了。之后点击“OK”即成功创建,再次点击“OK”退出Configuration即可使用。直接输入字母或字符,即使用“ Ctrl+_ ” ,例如“ Ctrl+/ ”或点击Alt+字母或字符,即使用“ Alt+_ ” 例如“ Alt+/ ”在定义静态全局变量的.c文件中打断点,运行到那儿,就会有该静态变量的值;在定义静态局部变量的函数中打断点,运行到函数里面,就会有该静态变量的值;原创 2024-01-06 22:21:41 · 1202 阅读 · 0 评论 -
21 STM32F103的CAN
CAN 总线上数据是以广播的形式发送的,所有连接在 CAN 总线的节点都会收到所有其它节点发出的有效数据,因而我们的 CAN 控制器大多具有根据 ID 过滤报文的功能,它可以控制自己只接收某些 ID的报文。第一步就要使能 CAN 的时钟。举个简单的例子,我们设置过滤器组 0 工作在:1 个 32 位过滤器-标识符屏蔽模式,然后设置 CAN_F0R1=0XFFFF0000,CAN_F0R2=0XFF00FF00。该寄存器必须在过滤器处于初始化模式下(CAN_FMR 的 FINIT 位=1),才可以进行设置。原创 2023-12-24 15:06:06 · 1563 阅读 · 0 评论 -
12 14 RT1052的GPIO输入及中断
【代码】12 RT1052的GPIO输入。原创 2023-12-09 14:23:42 · 514 阅读 · 0 评论 -
6 10 新建工程
版本说明:MDK5.24。原创 2023-12-02 11:00:28 · 470 阅读 · 0 评论 -
5 存储器映射和寄存器
第一种类型为 DTCM,是 Data Tightly-Coupled Memory 的缩写,译为数据紧耦合内存,它跟 ITCM类似,有着极高的访问速度,不过它是专门用来存储程序数据的,即代码中变量的存储位置。第二种类型为 OCRAM,它是 On-chip RAM 的缩写,即片上内存,可以完全把它理解为传统 MCU的内部 SRAM,它没有像 ITCM 和 DTCM 的专用限制,可用于存储指令和数据(通用目的)。在这 4GB 的地址空间中,ARM 已经粗线条的平均分成了 8 个块,,每个块也都规定了用途。原创 2023-11-30 22:22:27 · 1038 阅读 · 0 评论 -
8 增强型脉宽调制模块ePWM
此外,F28335还有6个APWM,通过CAP模块扩展配置,可以独立使用,因此F28335最多可以有18路PWM输出。共有6对这样的ePWM模块。每对PWM模块中的两个输出可以单独使用,所以可以认为有12路单独的ePWM。同步信号分为时间基础同步输入ePWMxSYNCI和ePWMxSYNCO。PWM简称脉冲宽度调制。作用在于通过脉冲宽度调制,等效获得期望波形。F28335中每个ePWM都是一个独立的小模块。ePWMxA和ePWMxB独立调制,高电平有效。错误联防信号TZ1-TZ6。原创 2023-11-26 21:55:11 · 676 阅读 · 0 评论 -
7 通用数字量输入输出GPIO
GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。GPIO的数据寄存器一共有4类,分别是GPIODAT、GPIOSET、GPIOCLEAR、GPIOTOGGLE。如果某个GPIO输出设置为输出状态,那么通过GPIODAT相应位写0或者1,此时GPIO就会输出相应的状态。使用DSP的引脚GPIO0-GPIO5,共阴极连接,当高电平时,LED被点亮;当为低电平时,LED熄灭。F28335的88个GPIO分为3组,分为A、B、C。原创 2023-11-26 16:39:19 · 661 阅读 · 0 评论 -
操作NAND flash W25N01G
NAND FLASH W25N01GVZEIG支持Standard/DUAL/QUAD SPIIO0和IO2被用于标准和双SPI命令。IO0-IO3被用于四元SPI指令(四元代表从四个IO口获取数据)写保护和保持函数只有在标准模式和双SPI模式才可用。1024*(4096)*N每个扇区大小4K,但实际可用的只有2K。1024代表快,N代表第几个页。原创 2023-11-26 11:46:53 · 2241 阅读 · 0 评论 -
STM32 SCF文件
这是代码的加载域,从Target的配置看,ROM的起始地址和范围分别就是0x08000000 0x00040000,而LR_IROM1为加载域名称,代表这块存储区域。*.o表示选择所有的.o文件,均放在这里,RESET为节区名,+First表示将RESET节区放在最前面。keil编译器在链接的时候,是根据分散加载(.scf后缀的文件)来确定程序的加载域和运行域的。表示将剩下的,所有的RO(readeonly,只读的)属性的节区放这里。这是将标准库里,有使用到的相关文件或节区,放到这里,挨着上面的*.o。原创 2023-11-26 10:53:14 · 803 阅读 · 0 评论 -
STM32 MAP文件
加载域就是程序在Flash中的实际存储,而运行域是芯片上电后的运行状态,因为MCU没上电时RAM中没有数据,所以此时所有的东西(包括代码、变量、初始值等)都是存放在flash中的,当上电后又要把变量等复制到RAM中才能正常运行。ARM处理器是32位的,如果定义一个8位或者16位变量就会剩余一部分,这里就是指的“补充”的那部分,会发现后面的其他几个选项都没有对应的值。因此上面这句话意思就是main.c中的main函数引用了led.c中的LED_Init函数,剩下的基本都是这类的意思。原创 2023-11-23 22:24:03 · 1501 阅读 · 0 评论 -
连接命令文件.cmd
利用CCS进行DSP编程时,如果不指定变量的存储位置,那么编译器会自动给变量分配存储位置,但是,有些时候,需要将某个变量存放到某个特定的位置,这个时候就可以利用#pragma DATA_SECTION指令了。第一步,利用#pragma DATA_SECTION指令将变量xxxCmdBuf关联到SECTIONS“ramdata”;如将变量SicaRegs分配到命为SIciaRegsFile的数据段。只需完成上述简单的两步就可以将某个变量指定到特定的位置。#pragma 可将变量分配到数据段。原创 2023-11-21 23:12:45 · 98 阅读 · 0 评论 -
DSP介绍及CCS
TI公司研发的一款经典DSP。TMS320F283xx系列产品都基于28355拓展。TMS320C28346是高主频。TMS320F28377是双核。结构上都与F28335内部结构类似。原创 2023-11-21 22:51:22 · 660 阅读 · 0 评论 -
STM32F407的看门狗
sTM32F407看门狗原创 2023-11-11 17:56:57 · 456 阅读 · 0 评论 -
STM32F407的系统定时器
Systick 是一个递减的定时器,当定时器递减至0 时,重载寄存器中的值就会被重装载,继续开始递减。9*nus :假设外设频率为 9M,也就是经过 8 分频,那么计数 9 次是 1us,乘以 9 的意义就是参数的时间对应的次数,也就是重装载值。24 位的寄存器,读取时返回当前倒计数的值,写它则使之清零,同时还会清除在 SysTick 控制及状态寄存器中的 COUNTFLAG 标志。系统时钟是72/8M,计数一次时间1/9000000秒,换算成us就是1/9us,则计数72/8次也就是9次就是1us。原创 2023-10-30 20:32:42 · 1029 阅读 · 0 评论 -
STM32F103的GPIO
因为 GPIO 都是挂载在 APB2 总线之上,所以它的基地址是由 APB2 总线的基地址+GPIOA 在 APB2 总线上的偏移地址决定的。GPIOA 的 7 个寄存器都是 32 位的,所以每个寄存器占有 4个地址,一共占用 28 个地址,地址偏移范围为(000h~01Bh)。GPIOA 的各个寄存器对于 GPIOA 基地址的偏移地址,所以我们自然可以算出来每个寄存器的地址。GPIOA 的寄存器的地址=GPIOA 基地址+寄存器相对 GPIOA 基地址的偏移值。那就是结构体存储的成员他们的地址是连续的。原创 2023-10-29 21:43:20 · 179 阅读 · 0 评论 -
STM32F103的中断
STM32 将中断分为 5 个组,组 0~4。CM3中每个中断通道都具备自己的8位中断优先级控制字节, 但STM32 并没有使用 CM3 内核的全部东西,STM32F103中只使用4位,高4位有效。例如组设置为 3,那么此时所有的 60 个中断,每个中断的中断优先寄存器的高四位中的最高 3 位是抢占优先级,低 1 位是响应优先级。STM32 有 84 个中断,包括 16 个内核中断和 68 个可屏蔽中断,具有 16 级可编程的中断优先级。具体表格见stm32中文参考手册9.1.2。原创 2023-10-29 21:02:44 · 817 阅读 · 0 评论 -
鼠标键盘实验
STM32F4的USB OTG FS支持USB HID设备,并且ST官方提供了USB HID例程(支持USB鼠标和USB键盘),官方例程路径:光盘STM32参考资料——STM32 USB 学习资料——stm32_f105-07_f2_f4_usb-host-device_lib.zip(解压)——Project —USB_Host_Examples ----HID。STM32参考资料-STM32 USB 学习资料:stm32_f105-07_f2_f4_usb-host-device_lib.zip。原创 2023-06-18 11:35:38 · 1231 阅读 · 0 评论 -
STM32F407的介绍
0x0800 0000开始的flash,从0x2000 0000开始的sram这两部分,其中flash是我们代码烧录的地方,sram是我们程序执行的内存地址。原创 2023-06-18 08:12:54 · 17326 阅读 · 0 评论 -
STM32F407输入捕获
不 分 频 , 所 以 选 中TIM_ICPSC_DIV1,还有2,4,8分频可选。IC1直接映射在TI1上,选择TIM_ICSelection_DirectTI。配置PA0为复用功能,要设置PA0引脚映射AF2,连接到TIM5上面。获取TIM5_CH1(P A0)上面的高电平脉冲宽度,并从串口打印捕获结果。初始化GPIO的模式为复用功能,同时这里我们还要设置为开启下拉。Fdts是时钟分频后的时钟频率,可以在定时器中设置。启动TIM5的计数器,开始输入捕获。要捕获的是高电平信号的脉宽。原创 2023-06-04 16:53:19 · 2960 阅读 · 0 评论 -
FreeRTOS系统
挺好的文章原创 2023-03-11 14:14:23 · 358 阅读 · 0 评论 -
数电相关知识
无原创 2023-01-20 09:04:13 · 1267 阅读 · 0 评论 -
模电相关知识
模电原创 2023-01-19 22:20:21 · 2067 阅读 · 0 评论 -
是德科技DSOX2002A型号示波器的使用
带原创 2022-12-04 15:07:54 · 2309 阅读 · 0 评论 -
数学上的一些知识
we原创 2022-11-16 21:18:07 · 1266 阅读 · 0 评论 -
OSI七层模型详解
文章目录物理层详解:点这里数据链路层详解:点这里网络层详解:原创 2021-09-02 11:07:25 · 1119 阅读 · 1 评论 -
数据存储与删除相关知识
的原创 2022-11-13 11:13:21 · 261 阅读 · 0 评论 -
Java和python的一些知识
无原创 2022-11-12 21:12:58 · 164 阅读 · 0 评论 -
自动控制一些知识
无法原创 2022-11-12 17:48:30 · 1824 阅读 · 0 评论 -
物理上的一些知识
非原创 2022-11-12 17:22:20 · 2955 阅读 · 0 评论 -
UCOSII
他原创 2022-11-06 13:33:06 · 1846 阅读 · 0 评论 -
外设函数代码
r f原创 2022-11-06 12:59:49 · 123 阅读 · 0 评论 -
电路上的一些知识
突然原创 2022-10-29 11:35:42 · 1705 阅读 · 0 评论