自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(414)
  • 资源 (8)
  • 收藏
  • 关注

原创 细说C/C++语言中一些具有特殊功能的代码注释方法

我们都知道程序员编写的代码是很抽象的,非专业人士看不懂,专业人士也需要借助单行注释、多行注释、开发者记录的笔记等文件的辅助才能勉强阅读。眼中所看,就是注释时的心中所想。注释生成的文档描述一般有两种,一个是简短描述用于描述大致信息,比如,用//开始的当行标注,用/*开始的单行、多行标注;以下用到的案例来源于STM32CubeIDE自动生成的FreeRTOS中的代码,本文主要在于介绍该参考文件中出现的几种具有特殊功能的文档注释的方法和含义。它的注释也是C风格的,它的规则,空行或只有‘*’开始的行,意味着换行,

2025-05-21 13:21:56 736

原创 细说STM32单片机FreeRTOS将任务通知用作计数信号量的方法及其应用实例

任务通知还可以当作二值信号量或计数信号量来使用:使用函数xTaskNotifyGive()发送通知,使接收者的通知值加1;使用函数ulTaskNotifyTake()读取通知,使接收者的通知值减1或清零。一、示例功能与计数信号量的工作原理相比,任务通知模拟的计数信号量与实际的计数信号量有细微的差别:实际的计数信号量的初始值不为零,一般用于表示可用资源的个数,例如,餐厅中空余的餐桌个数。而任务通知模拟的计数信号量的初值为0,一般用于表示待处理的事件的个数,例如,模拟进入餐厅的排队人数。

2025-05-21 08:30:00 571

原创 细说STM32单片机FreeRTOS任务通知及其应用实例

任务通知(task notification)是FreeRTOS中的另外一种进程间通信技术。使用任务通知不需要创建任何中间对象,可以直接从任务向任务,或从ISR向任务发送通知,传递一个通知值(notification value)。任务通知可以模拟二值信号量、计数信号量,或长度为1的消息队列,使用任务通知,通常效率更高、消耗内存更少。一、任务通知的原理和功能如队列、信号量、事件组等这样的进程间通信技术都需要创建一个中间对象,进程之间通过这些中间对象进行通信或同步。

2025-05-19 13:49:35 954

原创 细说STM32单片机FreeRTOS用事件组同步任务的方法及其应用实例

在事件组的条件成立时,多个任务的阻塞状态可以同时解除。所以,这3个任务在同步点将各自的事件位置1后,再等待其他事件位置1,然后才开始运行,从而达到多个任务在某个同步点同步运行的目的。上述程序使用了事件组中的3个位,定义了4个事件位掩码,其中,BITMASK_SYNC是其他3个事件位掩码的按位或运算,所以BITMASK_SYNC是0x07。当事件组中掩码BITMASK_SYNC表示的3个位都被置1后,3个任务将同时解除阻塞状态,继续执行各自后面的程序,这样就实现了3个任务的同步。

2025-05-14 14:13:02 718

原创 细说STM32单片机FreeRTOS事件组及其编程应用实例

注意,这个函数中使用的延时函数是HAL_Delay(),在调用函数ScanPressedKey()时,设置的等待时间不能太长,更不能传递参数KEY_WAIT_ALWAYS,因为任务Task_ScanKeys的优先级在3个任务中是最高的。一个事件组对象有一个内部变量存储事件标志,变量的位数与参数configUSE_16_BIT_TICKS有关,当configUSE_16_BIT_TICKS为0时,这个变量是32位的,否则,是16位的。其中的31至24位是保留的,23至0位是事件位(event bits)。

2025-05-12 14:27:43 711

原创 细说STM32单片机FreeRTOS互斥量及其编程实例

根据传递的互斥量属性,osMutexNew()自动判别是创建互斥量,还是创建递归互斥量。例如,在上图中,若TaskMP在t2时刻之前抢占了CPU,在TaskMP运行期间TaskHP可以抢占CPU,但是因为要等待TaskLP释放占用的互斥量,还是要进入阻塞状态等待,还是会让TaskMP占用CPU运行。这样,在Task_Low占用互斥量运行期间,Task_Middle就无法抢占CPU运行,在Task_Low释放互斥量后,Task_High就能抢占CPU立刻运行。其他内容的设置与参考文章相同。

2025-04-29 17:15:21 846

原创 细说STM32单片机FreeRTOS优先级翻转及其展示实例

高优先级的任务TaskHP需要等待低优先级的任务TaskLP释放二值信号量之后,才可以运行,这也是期望的运行效果。但是在t4时刻,虽然任务TaskMP的优先级比TaskHP低,但是它先于TaskHP抢占了CPU的使用权,这破坏了基于优先级抢占式执行的原则,对系统的实时性是有不利影响的。下图中有3个任务,分别是低优先级的TaskLP、中等优先级的TaskMP和高优先级的TaskHP,它们的运行过程可描述如下。结合此图中的消息字符串出现的顺序和3个任务函数的代码,可以归纳程序的工作原理,具体如下。

2025-04-29 08:40:04 808

原创 细说STM32单片机FreeRTOS计数信号量及其使用实例

周期唤醒参数设置如图5-11所示,周期唤醒使用的时钟频率是1Hz,唤醒计数值为2,所以唤醒周期是3s。获取计数信号量就是申请一个资源,申请成功后,计数信号量的计数值减1,表示可用资源减少1个。计数信号量的计数值变为0,表示没有资源可再被申请,再申请计数信号量的任务就需要等待。释放计数信号量就是释放一个资源,计数信号量的计数值会加1,表示可用资源增加了1个。创建计数信号量时,一般应使其初始值等于最大值,例如,用下面的语句创建一个计数信号量,则semb最大计数值为5,初始计数值为5,表示有5个资源可用。

2025-04-25 11:35:54 816

原创 细说STM32单片机FreeRTOS信号量和互斥量的基础知识及二值信号量的编程实例

队列的功能是将进程间需要传递的数据存在其中,所以在有的RTOS系统里,队列也被称为“邮箱”。有的时候,进程间需要传递的只是一个标志,用于进程间同步或对一个共享资源的互斥性访问,这时就可以使用信号量或互斥量。信号量和互斥量的实现都是基于队列的,信号量更适用于进程间同步,互斥量更适用于共享资源的互斥性访问。一、信号量和互斥量概述信号量(semaphore)和互斥量(mutex)都可应用于进程间通信,它们都是基于队列的基本数据结构,但是信号量和互斥量又有一些区别。

2025-04-24 14:54:04 872

原创 细说STM32单片机FreeRTOS进程间通信技术及消息队列的应用方法

进程间同步与通信是一个操作系统的基本功能,FreeRTOS提供了完善的进程间通信功能:包括消息队列、信号量、互斥量、事件组、任务通知等。其中,消息队列是信号量和互斥量的基础,研究进程间通信要先从进程间通信的基本概念以及消息队列的原理和使用开始,再逐步研究信号量、互斥量等其他进程间通信方式。一、进程间通信技术在使用RTOS的系统中,有多个任务,还可以有多个中断的ISR,任务和ISR可以统称为进程(process)。

2025-04-22 15:43:20 836

原创 细说STM32单片机FreeRTOS中断管理及其应用方法

FreeRTOS的任务有优先级,MCU的硬件中断也有中断优先级,这是两个不同的概念。FreeRTOS的任务管理要用到硬件中断,使用FreeRTOS时也可以使用硬件中断,但是硬件中ISR的设计要注意一些设计原则。本文章将介绍FreeRTOS与硬件中断的关系,及如何正确使用硬件中断。一、FreeRTOS与中断NVIC中断是MCU的硬件特性,STM32 MCU的NVIC管理硬件中断。STM32F4使用4个位置优先级分组策略,用于设置中断的抢占优先级和次优先级,优先级数字越小,优先级越高。

2025-04-19 15:43:47 821

原创 细说STM32单片机FreeRTOS任务管理API函数vTaskList()的使用方法

任务Task_Info读取的信息在串口助手上显示,LED1闪烁几次后,任务Task_Info被删除,LED1不再闪烁,修改延迟时间会小小改变删除任务的效果。例如,对于上图中的任务Task_LED1,其状态字符串是“\tX\t8\t50\t2\r\n”,表示它处于运行状态,优先级为8,栈空间高水位值为50,任务编号为2。其中,每行字符串的第1列是任务名称,这里除了用户的两个任务Task_LED1和Task_ADC,还有系统自动创建的空闲任务IDLE和定时器服务任务Tmr Svc。项目的软件设计大部分相同。

2025-04-17 14:52:39 1006

原创 细说STM32单片机FreeRTOS任务管理API函数及多任务编程的实现方法

FreeRTOS中除了用于任务管理的一些RTOS函数外,还有一些API函数(也叫任务管理工具函数),用于操作任务或取任务信息。一些内容需要参考本文作者写的其他文章,参考文章:细说STM32单片机FreeRTOS任务管理相关函数及多任务编程的实现方法-CSDN博客。

2025-04-17 12:11:19 852

原创 细说STM32单片机FreeRTOS任务管理相关函数及多任务编程的实现方法

一、FreeRTOS任务管理相关函数在FreeRTOS中,任务的管理主要包括任务的创建、删除、挂起、恢复等操作,还包括任务调度器的启动、挂起与恢复,以及使任务进入阻塞状态的延迟函数等。FreeRTOS中任务管理相关的函数都在文件task.h中定义,在文件tasks.c中实现。在CMSIS-RTOS中还有一些函数,对FreeRTOS的函数进行了封装,也就是调用相应的FreeRTOS函数实现相同的功能,这些标准接口函数的定义在文件cmsis_os.h和cmsis_os2.h中。

2025-04-11 16:30:28 806

原创 细说STM32单片机FreeRTOS任务管理和任务调度的基本原理

圆周表示CPU时间,如同钟表的一圈,RTOS将CPU时间分成基本的时间片(time slice),例如,FreeRTOS默认的时间片长度是1ms,也就是SysTick定时器的定时周期。由单核CPU的多任务运行机制可知,任何时刻,只能有一个任务占用CPU并运行,这个任务的状态称为运行(running)状态,其他未占用CPU的任务的状态都可称为非运行(notrunning)状态。这两种状态都是非运行状态,运行的任务就交出了CPU的使用权,任务调度器可以使其他就绪状态的任务进入运行状态。

2025-04-11 10:51:14 798

原创 细说STM32单片机中FreeRTOS的文件组成、编码规则和功能裁剪

钩子函数类似于回调函数,就是在某个功能或函数执行时要调用的一个函数。钩子函数的代码由用户编写,用于实现一些自定义的处理。钩子函数的设置界面如图所示。默认情况下,这些参数值都是Disabled,也就是不实现相应的钩子函数。如果设置为Enabled,CubeMX会在文件freertos.c中自动生成相应钩子函数的函数框架。当设置为Enabled时对应的钩子函数名称及意义见下表,表中只列出了函数名称,省略了函数参数。钩子函数配置参数调用场合对应的钩子函数名称USEIDLEHOOK。

2025-04-09 12:18:09 756

原创 细说STM32单片机FreeRTOS基础知识及用法

FreeRTOS是一个完全免费和开源的嵌入式实时操作系统,已被作为一个中间件集成到STM32 MCU固件库中。在STM32Cube开发方式中,用户可以很方便地使用FreeRTOS。一、FreeRTOS基础1、初识FreeRTOSFreeRTOS是一个完全免费和开源的嵌入式实时操作系统(Real-time Operating System,RTOS)。户很方便地在STM32Cube开发方式中使用FreeRTOS。

2025-04-07 14:08:02 1067

原创 警告warning: *.elf has a LOAD segment with RWX permissions的解除方法

警告信息“YS2416C.elf has a LOAD segment with RWX permissions”指的是在一个 ELF(Executable and Linkable Format)文件中,存在一个段(segment)被设置为可读(R)、可写(W)和可执行(X)权限。例如,在 GCC 中,可以使用 -z execstack 和 -z noexecstack 选项来控制栈和堆的执行权限。特别地,当使用STM32CubeIDE编译项目时,按如下方法限制段的权限,可以有效地解除标题出现的警告。

2025-04-02 13:31:28 386

原创 单片机编程中浮点数转定点数Q15查找表的设计方法

大多数的MCU、DSP中的浮点数处理单元都是定点浮点数处理单元,处理定点数据会相当快,但是处理浮点数据就会非常慢。可以利用Q格式进行浮点数据到定点的转化,节约CPU时间。实际应用中,浮点运算大都时候都是既有整数部分,也有小数部分的。所以要选择一个适当的定标格式才能更好的处理运算。

2025-03-24 12:20:53 640

原创 警告warning: variable ‘**‘ set but not used [-Wunused-but-set-variable]的解决办法

在C或C++编程中,编译器警告“warning: variable '**' set but not used [-Wunused-but-set-variable]”表明你声明了一个变量**,并且在你的代码中给它赋了值,但是在之后的代码中并没有使用这个变量的值。这种做法通常是不必要的,因为它会增加代码的复杂性和可能的错误风险,同时也会导致编译器的警告。

2025-03-21 16:19:44 420

原创 警告warning: braces around scalar initializer的解决办法

/本例中必要的结构体、联合体定义//面板结构体类型定义//扫描按键结构体类型定义//输入信号//经滤波后的输入信号//当前键扫描的值//当前键边沿状态//MODE键滤波计数器//UP键滤波计数器//DOWN键滤波计数器/SHIFT键滤波计数器//SET键滤波计数器//UP键和DOWN键加速计数器//UP键和DOWN键加速等级//UP键和DOWN键加速等级计数器// 键值定义UPKEY = 1,//键状态定义//面板菜单结构体类型定义。

2025-03-21 15:49:16 642

原创 警告warning: missing braces around initializer [-Wmissing-braces]的解决办法

仅列举与本文相关的必要的定义/* 引用头文件 *//* 宏定义 常数类*///下限表示显示类别 上限表示显示需要的页数//下限//上限//功能码属性//功能码属性表长度//每组功能码长度//功能码属性表中每组首个功能码序号//H0B组在辅助功能码中定义//H0D组在辅助功能码中定义//辅助功能码/* 结构体变量类型定义 枚举变量类型定义 */01:停机设定 02:显示 03:保留参数//2 保留//3 0:直接由上限限制 1:参数由上限相关功能码限制。

2025-03-20 16:31:35 1102

原创 警告“warning: ‘**‘ defined but not used [-Wunused-variable]”的解决办法

在C或C++编程中,编译器发出的警告“warning: '**' defined but not used [-Wunused-variable]”意味着定义了一个变量**,但是在代码中并没有使用这个变量。这种警告通常是编译器为了帮助开发者发现可能存在的代码冗余或不完整的地方而发出的。

2025-03-19 08:30:00 452

原创 警告 “variable ‘**‘ set but not used [-Wunused-but-set-variable]” 的解决办法

例如,警告 "variable 'Data_Read' set but not used [-Wunused-but-set-variable]" ,指的是变量 Data_Read 被赋值了,但是在程序的其他部分没有被使用。如果不确定一个变量是否应该被删除,可以暂时注释掉该变量的相关代码,然后重新编译检查是否有其他错误或警告,这可以帮助你理解该变量是否真的需要。如果注释掉后没有其他问题,那么这个变量可能是多余的。如果暂时不想删除或使用这个变量,但想关闭这个警告,可以使用编译器的特定指令来忽略这个警告。

2025-03-18 14:45:16 373

原创 细说C/C++的宏定义跨行连接符的使用方法

宏定义跨行连接符‌在C/C++编程中主要用于编写复杂的宏定义,以提高代码的可读性。当宏定义较长,写在一行不易于读懂时,可以使用跨行连接符 “\” 来指示连续的两行代码视为同一行宏定义。这样,编译器会将这两行代码视为一个整体进行处理‌。

2025-03-18 14:32:26 819

原创 细说STM32单片机软件触发设置DAC并在同一管脚上同时传递给ADC1和ADC2转换的方法

在配置STM32单片机的管脚时,有的管脚可以同时配置为多种功能,这种情况给使用单片机的人带来十分的便利。比如,STM32F407ZGT6单片机只有一个DAC模块,这个模块有2个输出通道DAC_OUT1、DAC_OUT2。其中,DAC_OUT1输出引脚是PA4,DAC_OUT2输出引脚是PA5。在配置PA4为DAC_OUT1后,配置窗口出现绿色的“+”号,可以同时配置这个引脚为ADC1_IN4、ADC1_IN4。

2025-02-27 16:30:37 765

原创 细说STM32F407单片机RS485收发通信实例及调试方法

MCU上的串口UART(USART)是逻辑电平(TTL或CMOS电平),在开发板上实现与串口助手之间的RS485通信,就是把单片机上的逻辑电平通过RS485物理层芯片转换为RS485电平。本文继续使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0。本文的目的是通过MAX485物理层芯片把开发板上的USART3(PB10、PB11)逻辑电平转换为RS485电平,然后通过一条USB转RS485的转换线连接到串口助手上。

2025-02-26 17:16:30 1523

原创 细说STM32F407单片机2个ADC使用DMA同步采集各自的1个输入通道的方法

本文将通过一个实例测试 STM32F407ZGT6使用2个ADC模块并通过DMA模式同步采集各自的1个通道的方法。当一个ADC只有一个输入通道,在转换结束后可以及时读出结果数据寄存器的内容。当一个ADC规则转换组有多个通道时,应该使用扫描转换模式(Scan Conversion Mode),ADC在转换完一个通道后立刻转换下一个通道,直到规则组内的通道序列转换完。并启用DMA模式。

2025-02-22 17:12:39 1721

原创 细说STM32F407单片机1个ADC使用DMA同时采集3个输入通道的方法

当ADC只有一个输入通道,在转换结束后可以及时读出结果数据寄存器的内容。当规则转换组有多个通道时,应该使用扫描转换模式(Scan Conversion Mode),ADC在转换完一个通道后立刻转换下一个通道,直到规则组内的通道序列转换完。规则转换只有一个转换结果数据寄存器,虽然可以设置在每个通道转换完之后就产生EOC事件中断,但是在多通道情况下,在EOC事件中断里读取转换结果数据可能是来不及的,更谈不上对数据进行显示或处理。因此,如果规则转换组有多个输入通道,应该使用DMA。

2025-02-22 10:48:56 1620

原创 细说STM32F407单片机RTC入侵检测和时间戳的原理及使用方法

本文将通过示例介绍 STM32单片机RTC时钟单元的的入侵检测和时间戳的原理及使用方法。本文将继续使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0。本实例将引用本文作者写的其他文章作为参考文献。参考文章1:细说STM32F407单片机RTC的基本原理及闹钟和周期唤醒功能的使用方法-CSDN博客参考文章2:细说STM32F407单片机RTC的备份寄存器原理及使用方法-CSDN博客。

2025-02-13 17:16:28 1488

原创 细说STM32F407单片机RTC的备份寄存器原理及使用方法

本实例旨在介绍备份寄存器的作用。本实例继续使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0。本实例将引用本文作者写的其他文章作为参考文献。参考项目:细说STM32F407单片机RTC的基本原理及闹钟和周期唤醒功能的使用方法-CSDN博客。

2025-02-13 14:35:38 1496

原创 细说STM32F407单片机RTC的基本原理及闹钟和周期唤醒功能的使用方法

本实例使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0,使用闹钟A、闹钟B和周期唤醒功能,具有如下功能。使用32.768kHz的LSE时钟作为RTC的时钟源。系统复位时初始化RTC日期为2022-2-12,时间为10:10:10。每秒唤醒一次,在周期唤醒中断里读取当前日期和时间,并在串口助手上显示。将周期唤醒中断信号WUTF输出到复用引脚RTC_AF1(PC13),用杜邦线连接PC13和LED1的引脚PA6(在CubeMX中不要配置PA6。

2025-02-12 14:08:02 1140

原创 细说STM32F407单片机电源低功耗StandbyMode待机模式及应用示例

完成这些检测后,在while循环中检测按键输入,在KeyRight键被按下后,启用SYS_WKUP引脚,然后调用函数HAL_PWR_EnterSTANDBYMode()进入待机模式。如果SYS_WKUP引脚已经被启用,即使没有进入待机状态,按一下KeyUp键也会被记录一次唤醒操作,那么在按下KeyRight键进入待机模式后会立即被唤醒。系统从待机模式唤醒后,不是从进入待机模式处的代码继续执行,而是整个系统复位,从头开始执行,所以其唤醒延迟时间就是复位阶段的时间。否则,在后面再进入待机模式后,会立刻被唤醒。

2025-01-21 11:05:52 1401

原创 细说STM32F407单片机电源低功耗StopMode模式及应用示例

本示例中设置的RTC唤醒周期是5s,所以,在发生RTC周期唤醒中断时系统会被唤醒,但是会先执行RTC中断的ISR,也就是会执行RTC周期唤醒回调函数HAL_RTCEx_WakeUpTimerEventCallback(),这个回调函数里读取RTC当前时间并显示在串口助手上。RTC中断的ISR退出后,再继续执行WFI指令后面的程序。在进入while循环之前,调用了函数HAL_PWREx_EnableFlashPowerDown(),这可以在MCU进入停止模式后,关闭Flash存储器的电源,进一步降低功耗。

2025-01-20 16:53:58 1374

原创 细说STM32F407单片机电源低功耗SleepMode模式及应用示例

电池供电的嵌入式系统一般非常注意功耗控制,尽量使系统的功耗最低。STM32F4系列MCU提供了多种运行模式,CubeMX也提供了功耗分析的功能。本文介绍STM32F4的SleepMode功耗模式,以及如何通过该功耗模式的控制实现系统的低功耗。

2025-01-18 14:29:36 1818

原创 细说STM32F407单片机窗口看门狗WWDG的原理及使用方法

窗口看门狗(Window Watchdog,WWDG)是STM32F407上的另一个看门狗,通常用来监测由外部干扰或不可预见的逻辑条件造成的应用程序软件故障。

2025-01-16 16:02:11 1288

原创 细说STM32F407单片机独立看门狗IWDG的原理及使用方法

看门狗(Watchdog)就是MCU上的一种特殊的定时器,用于监视系统的运行,在发生错误(例如程序出现死循环)时,能自动使系统复位。STM32F407上有1个独立看门狗和1个窗口看门狗,这两个看门狗的作用不一样。

2025-01-15 15:24:53 1570

原创 细说STM32F407单片机以DMA方式读写外部SRAM的方法

本文作者旨在介绍如何使用DMA方式读写外部SRAM。继续使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0。参考文章:细说STM32F407单片机以轮询方式读写外部SRAM的方法-CSDN博客原理图,详见参考文章。

2025-01-09 09:24:17 1197

原创 细说STM32F407单片机以轮询方式读写外部SRAM的方法

本文介绍STM32F407单片机以轮询方式读写外部SRAM IS61LV25616AL的方法。继续使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0。关于 IS61LV25616AL,可以详见参考文章1。参考文章1:细说STM32F407单片机FSMC连接外部SRAM的方法及HAL驱动-CSDN博客参考文章2:细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV_stm32f407 spiflash驱动程序-CSDN博客。

2025-01-07 15:57:12 1332

原创 细说STM32F407单片机FSMC连接外部SRAM的方法及HAL驱动

本文介绍STM32F407单片机FSMC连接外部SRAM及以轮询方式读写外部SRAM的方法。本文将继续使用旺宝红龙开发板STM32F407ZGT6 KIT V1.0。FSMC的Bank1除能连接TFT LC外,还可以用于连接外部的SRAM、NOR FLASH、PSRAM等存储器。STM32F407ZG有192KB的SRAM存储器,一般的应用程序足够用了,但是在使用GUI等需要大量内存的功能时,就需要扩展SRAM了。

2025-01-06 11:05:57 1642

STM32Cube高效开发教程基础篇第二部分 第20-22章

STM32Cube高效开发教程基础篇第二部分 第20章 独立看门狗 第21章 窗口看门狗 第22章 电源管理和低功耗模式

2025-01-13

STM32Cube高效开发教程基础篇第二部分 第19章

STM32Cube高效开发教程基础篇第二部分第19章 FSMC连接外部设备

2025-01-13

STM32Cube高效开发教程基础篇第二部分第18章

STM32Cube高效开发教程基础篇第二部分第18章 CAN总线通信

2025-01-13

STM32Cube高效开发教程基础篇第二部分第17章

STM32Cube高效开发教程基础篇第二部分第17章 IIC通信

2025-01-13

STM32Cube高效开发教程基础篇第二部分第16章

STM32Cube高效开发教程基础篇,第二部分,第16章,SPI通信

2024-12-05

STM32Cube高效开发教程基础篇第二部分第6章到第15章

STM32Cube高效开发教程基础篇第二部分,系统功能和常用外设的使用,第6章到第15章。

2024-12-03

STM32Cube高效开发教程基础篇第一部分

STM32Cube高效开发教程基础篇,第一部分,软硬件基础

2024-12-02

C# 开发实例大全(基础卷)例题前4章VS2022版本

C# 开发实例大全(基础卷)例题前4章VS2022版本

2024-02-10

《C++从入门到精通》第5版VS2022的例题

《C++从入门到精通》第5版VS2022的例题,明日科技,清华大学出版社。 明日科技太懒了,配套例题仍然是VC++6.0的,例题的错误,几十年了,出版到第5版了,也没安排人修改。 本资料,书中例题全部在VS2022上运行过,修改了原题的错误、过气的函数。并增加了一些自己学习的见解。

2023-05-12

《C语言从入门到精通》VS2022的例题

《C语言从入门到精通》发行到第五版了,可是明日科技很懒惰,书中的例题仍然还在用VC++6.0.如果工程师照着书学习操作VC++6.0即使学会了书,还能找到工作吗和学以致用吗?所以,我就辛苦一下,把书中的例子在VS2022环境下都运行了一遍。修改了很多被VS2022抛弃的函数还有原书例题中的错误。

2023-04-12

profinet ASIC ERTEC200_Boot_Manual_V110

名称:ERTEC200_Boot_Manual_V110 用途:profinet ASIC ERTEC200 评价:这个资源十分稀少,分享给大家;

2022-05-17

Profinet ASIC ERTEC200芯片“ERTEC200_Datasheet_V112”

名称:ERTEC200_Datasheet_V112 用途:Profinet ASIC ERTEC200芯片; 评价:这个资源很稀少,几乎下不到了,今天上传到网上,分享给大伙。

2022-05-17

西门子PLC S7-226固件程序,V2.01S7-226_CN_2.01_dump_24c512

西门子PLC S7-226固件程序,V2.01; "S7-226_CN_2.01_dump_24c512"

2022-05-12

实测好用的两个Profilic PL2303HXA USB-to-Serial Comm Port for WIN10的驱动

经win10旗舰版21H2实测好用的两个profilic PL2303HXA USB-to-Serial Comm Port 驱动.

2022-04-16

SystemVerilog.std.1800-2012

SystemVerilog.std.1800-2012

2014-02-15

SystemC std 1666-2011

IEEE SystemC.std.1666-2011.pdf

2014-02-15

基于VB的分布式监控系统通信设计

基于VB的分布式监控系统通信设计摘 要:本文介绍了利用VB的多种通信手段实现分布式监控系统的多种通信功能,对每一种通信手段给出其原理和应用实例。

2010-04-28

在VB下PC机与MCS-51单片机的串行通信

在VB下PC机与MCS-51单片机的串行通信

2010-04-28

空空如也

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

TA关注的人

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