- 博客(87)
- 资源 (24)
- 收藏
- 关注
原创 【STM32F103微控制器上进行CAN总线回环测试】
CAN总线(Controller Area Network)是一种常用的串行通信协议,最初由德国公司Bosch开发,用于汽车电子系统中的通信和控制。它在汽车行业得到了广泛的应用,后来也在其他领域如工业控制、航空航天和医疗设备等方面得到了采用。CAN总线的设计目标是满足汽车电子系统中的高可靠性和实时性要求。它采用差分信号传输和多主机的通信结构,具有抗干扰、抗噪声和高带宽利用率的特点。CAN总线支持多个节点之间的数据交换,允许节点实时地发送和接收消息。它还具有消息优先级机制,可以保证关键数据的及时传输。
2024-03-16 13:22:51 1894
原创 STM32按键状态机短按、长按和连击操作
按键的不同状态对应于不同的按键操作,通过状态转换和计数器的判断,可以准确地识别和处理短按、长按和连击操作。在空闲状态(BUTTON_STATE_IDLE)下,检测到按键按下后,将按钮按下状态设置为1,重置释放状态和计数器,并将状态转换为按下状态(BUTTON_STATE_PRESSED)。当使用状态机来处理按键操作时,我们将按键的不同状态抽象为状态机中的各个状态,并根据按键的状态转换进行相应的处理。在函数的最后,我们检查定时器溢出标志,并根据当前的按键状态和按键的按下和释放状态进行相应的处理。
2024-03-16 13:01:05 1687
原创 【BACnet ip网络参数设置和读取】
3这个结构体定义了一个名为bacnet_ipv4_port的数据结构,用于表示BACnet IP设备的网络配置信息。下面是对结构体成员的解释:IP_Address:一个长度为4的无符号整数数组,表示设备的IPv4地址。每个元素表示一个字节,共计4个字节。例如,IP地址为192.168.0.1,则数组的值为{192, 168, 0, 1}。IP_Subnet_Prefix:一个长度为4的无符号整数数组,表示设备的子网掩码。用于确定设备所在的子网范围。与IP_Address类似,每个元素表示一个字节。
2024-03-15 13:39:28 1667
原创 BACnet device对象详解以及协议栈相关代码
BACnet(Building Automation and Control Networks)是一种用于建筑自动化和控制系统的通信协议。BACnet设备对象是BACnet协议中的一个重要概念,用于表示建筑自动化系统中的设备。BACnet设备对象(Device Object)是BACnet网络中的主要实体,代表了一个物理设备或网络上的虚拟设备。每个BACnet设备对象都有一个唯一的标识符,称为设备实例号(Device Instance)。
2024-03-13 13:49:46 1715 1
原创 单片机c语言编程规范
代码中的initialize函数用于初始化单片机的硬件配置,包括设置LED引脚为输出和启用按钮引脚的上拉电阻。main函数是程序的入口,它在一个无限循环中检测按钮是否被按下,如果按钮被按下,则调用toggleLED函数切换LED的状态,并通过延迟函数__delay_cycles延迟一段时间。请注意,这只是一个简单的范例,实际的代码规范可能会根据项目的要求和团队的约定而有所不同。使用一致的缩进风格,例如使用制表符或空格进行缩进,以提高代码的可读性。使用有意义的变量、函数和宏的名称,避免使用缩写和简写。
2024-03-12 13:49:09 599
原创 【ARM linux mqtt协议连接服务器】
如果您需要获取MQTTClient库的源代码或更详细的API函数说明,请参考MQTTClient库的官方网站或开发者社区。此示例代码演示了一个简单的发布者(Publisher)应用程序,它连接到本地的MQTT服务器,等待用户输入要发布的消息,并将消息发布到指定的话题。在给出的代码中,包含了MQTTClient库的头文件MQTTClient.h,并且使用了该库提供的函数来创建、连接和操作MQTT客户端。MQTTClient库的具体实现代码通常包含在一个或多个源文件中,并且通常以静态库或动态库的形式提供。
2024-03-12 13:37:17 464 2
原创 【基于arm linux c语言编程MODBUS rs485 RTU模式】
创建modbus_t结构体对象并使用modbus_new_rtu()函数初始化,指定串口设备文件和其他通信参数,例如波特率和从机地址。读取Modbus数据:使用modbus_read_registers()等函数来读取Modbus设备的数据。关闭Modbus连接和串口设备:使用modbus_close()函数关闭Modbus连接,使用close()函数关闭串口设备。根据Modbus协议的规定,解析数据的格式和含义。建立Modbus连接:使用modbus_connect()函数连接到Modbus设备。
2024-03-11 11:16:43 1051
原创 cJSON C语言库解析和生成JSON数据
cJSON是一个轻量级的C语言库,用于解析和生成JSON数据。它提供了简洁而高效的API,使得在C语言中处理JSON数据变得简单和方便。以下是一些cJSON库的主要特点和用法:解析JSON数据:使用cJSON_Parse函数可以将JSON字符串解析为cJSON对象。该函数会返回一个指向根节点的指针。如果解析失败,返回NULL。生成JSON数据:使用cJSON_CreateObject和cJSON_CreateArray等函数可以创建cJSON对象。
2024-03-11 09:23:25 1467
原创 交流24v供电和直流24v供电的优势和劣势以及设计成本的差异
在一个建筑物的自动化控制系统中,存在多个需要供电的设备,如传感器、执行器、控制器等。如果使用交流24V供电,可以利用建筑物内的交流电源系统,通过电源线路和变压器进行电压转换和供电。这样可以方便地从电网中获取电能,并在建筑物范围内保持电压稳定性。但是,由于一些设备需要直流供电,需要添加额外的电源转换器来将交流电转换为直流电。
2024-03-10 16:31:25 1853
原创 蓝牙和wifi各有什么优劣势
大规模连接:Wi-Fi网络可以支持多个设备同时连接,适用于大规模设备之间的通信,如家庭、办公室等场景。较高的传输速率:Wi-Fi通信速率较高,适用于大规模数据传输和高速传输,如视频流、大文件传输等。较高的功耗:Wi-Fi通信相对于蓝牙通信来说功耗较高,适用于功耗要求不那么严格的设备。远距离通信:Wi-Fi通信距离较蓝牙更远,适用于在较大范围内进行设备间的无线通信。低功耗:蓝牙通信通常使用较低的功率,适用于低功耗设备,如耳机、智能手表等。连接限制:蓝牙通信通常限制连接的设备数量,不适合大规模设备之间的通信。
2024-03-10 16:19:26 1627
原创 bacnet cov机制详细介绍
BACnet(Building Automation and Control Networks)的COV(Change of Value)机制是一种用于监测和传输对象的变化信息的机制。COV机制允许BACnet设备在对象的值发生变化时主动发送通知,以便其他设备能够实时获取最新的数据。COV机制涉及以下几个重要的对象:COV源(COV Source):COV源是一个BACnet对象,它被监控以检测其值的变化。当COV源的值发生变化时,它将触发COV通知。
2024-03-10 14:40:28 996
原创 【STM32F103 BACnet MSTP通信RS485驱动代码】
在实际项目应用中,如果想利用低成本的mcu来实现BACnet IO模块,可以采用STM32 RS485队列FIFO实现
2024-01-10 16:08:57 892 1
原创 STM32 FOC算法调节电机
FOC(Field-Oriented Control,磁场定向控制)是一种先进的电机控制算法,可以实现高效、精确的电机控制
2024-01-06 15:59:50 901
原创 RN8209 RN8302 spi驱动和校表程序STM32
RN8209是一款单相电能表专用的集成电路芯片。它是基于CMOS工艺的智能电能计量专用芯片,具有高精度、低功耗和强抗干扰能力等特点。RN8209集成了电流、电压、功率、功率因数、频率等计量功能,支持RS485通信接口和SPI接口,可以与微处理器或微控制器进行通信,实现电能计量和数据传输。RN8209芯片具有以下主要特性:电能计量功能:支持电流、电压、功率、功率因数、频率等计量功能,可高精度地测量电能数据。通信接口:支持RS485通信接口和SPI接口,可方便地与上位机或其他设备进行数据通信和控制。
2024-01-06 15:06:57 2086
原创 STM32的串口FIFO发送和接收使用FreeRTOS实时操作系统
以上是一个带有串口接收中断的串口FIFO发送和接收程序的示例代码。请注意,该示例中的错误处理部分需要根据具体的应用场景进行适当的修改。在USART1_IRQHandler函数中,我们处理串口接收中断。当接收到数据时,我们将数据发送到接收队列中。在UART_SendByte函数中,我们将要发送的数据发送到发送队列中。在UART_ReceiveByte函数中,我们从接收队列中接收数据。接下来,我们创建了串口发送任务(vUartTxTask)和串口接收任务(vUartRxTask)。
2023-12-29 08:26:14 2130 2
原创 stm32采用队列方式接收和发送RS485串口数据
rs485_init函数中的rs485_baud_rate_set函数用于配置USART2的波特率。可以使用rs485_baud_rate_set函数来设置所需的波特率。需要注意的是,调用rs485_bytes_send函数时,确保提供的缓冲区大小足够存储要发送的数据,并且nbytes参数的值与要发送的数据字节数相匹配,以避免访问越界和发送不完整的数据。在调用rs485_bytes_send函数时,需要将要发送的数据存储在buffer指向的缓冲区中,并将要发送的数据字节数作为nbytes参数传递给函数。
2023-12-28 09:58:50 1755
原创 Bacnet—IP业务逻辑协议Yabe软件
Bacnet有专门配置IP参数的类,设备连接之前,需要配置端口号和ip地址,图示是用yabe的BACnet参数设置功能。Bacnet 有个专门的类可以配置和读取出厂参数信息,软件版本信息,日期,系统时间信息等,可自定义。表示输出电压值,范围 0~1000对应0到10v输出, 只写,名称可设,默认AO X。表示输入电压值,范围 0~10000,对应0到10v,只读。BINARY OUTPUT类表示开关量DO输出,值为0/1,1表示开。BINARY INPUT类表示开关量DI输入,值为0/1,1表示开。
2023-12-26 09:36:23 992
原创 NBIOT BC28驱动程序
if ( ( reply1 == 0 ) && ( reply2 == 0 ) ) //不需要接收数据。// printf(“信号级别:%d\n”, NBIOT_MODULE_INFO.signalCSQ);if(USART1_RX_STA&0X8000)//接收到期待的应答结果。//// printf(“数据上传:\n”);
2023-12-19 08:35:11 218
原创 AT32F403如何扩大SRAM
(0x10000/1024=64kb,0x38000/1024=224kb)(4)打开keil5魔术棒图标 ,将Target中的IRAM1第二个选项从0x10000改为0x3800。(0x10000/1024=64kb,0x38000/1024=224kb)雅特力官方的做法是放在了.S文件里,也就是相当于先执行extend_sram()函数,后执行SystemInit(),其实效果是一样的,以下是雅特力官方的做法。#define EXTEND_SRAM 0xFE //使用224K。
2023-12-19 08:22:26 344
原创 bacnet ddc控制器如何通过485口转发Modbus协议控制modbus执行设备
需要注意的是,BACnet DDC控制器和Modbus执行设备之间的通信协议和寄存器映射需要保持一致,以确保正确的数据传输和控制操作。在BACnet DDC控制器上配置Modbus通信模块:BACnet DDC控制器通常具有可扩展的通信模块,可以通过添加Modbus通信模块来实现与Modbus执行设备的通信。在BACnet DDC控制器上编写逻辑程序:根据需要控制的Modbus执行设备的功能和操作,编写逻辑程序来实现与Modbus执行设备的通信和控制。
2023-08-02 20:20:13 866
原创 如何硬件上判断单路电流过载
需要注意的是,电路的具体设计取决于所使用的电流传感器类型、电路工作电压、比较器的精度和其他因素。要在硬件上判断单路电流过载,需要使用一个合适的电流传感器和一个电路来检测电流值并进行比较。可以将比较器的输出信号连接到一个告警灯或其他设备上,以进行警示或控制其他操作。如果电流超过了设定的最大电流值,比较器将输出一个高电平信号,表示电流过载。设置比较器的阈值,使其能够检测电流是否超过了设定的最大电流值。将电流传感器的输出连接到一个运算放大器中,以放大电流信号。使用电流传感器来测量电路中的电流。
2023-07-29 22:37:58 419
原创 Linux常用的终端工具有哪些?
gnome-terminal:gnome-terminal是GNOME桌面环境下的终端模拟器,支持多标签和透明度等功能。screen:screen也是一个终端复用器,与tmux类似,可以在一个终端窗口中同时运行多个终端会话。terminator:terminator是一个支持多标签的终端模拟器,可以方便地管理多个终端会话。Zsh:Zsh是一个强大的Shell,支持自动补全和语法高亮等功能,是Bash的替代品。tmux:tmux是一个终端复用器,可以在一个终端窗口中同时运行多个终端会话。
2023-06-23 17:20:35 2831
原创 BACnet协议栈Target_object_instanse和Target_object_index有什么区别和联系
使用Target_object_index,需要指定Object_type为二进制输入对象(Object_type = 1),并指定实例号为1(Target_object_index = 1)。联系:Target_object_instanse和Target_object_index都使用实例号来标识BACnet对象,但Target_object_instanse还包括对象类型。Target_object_instanse相当于Target_object_index和Object_type的组合。
2023-06-20 23:57:35 172
原创 ARM Linux 双网口可以同一个网段吗?怎么配置
在这里,我们将第二个网口的IP地址设置为192.168.1.11,子网掩码设置为255.255.255.0,网关设置为192.168.1.1。在ARM Linux 双网口中,可以将两个网口配置在同一个网段中,以实现更高的网络可靠性和带宽。在配置过程中,需要确保两个网口的IP地址、子网掩码和网关地址都设置正确,以便正确地路由数据包。在这里,我们将第一个网口的IP地址设置为192.168.1.10,子网掩码设置为255.255.255.0,网关设置为192.168.1.1。请确保这些地址与您的网络配置相匹配。
2023-06-16 23:53:19 2406
原创 BACnet协议栈apdu_set_confirmed_handler函数中的确认型回调函数是如何传参的
参数表示请求的APDU数据单元,它是一个指向字节数组的指针。APDU是BACnet协议中用于传输数据的数据单元,它包含了请求的具体内容,比如读取属性操作的对象ID、属性ID等信息。参数表示请求的APDU数据单元的长度,它是一个无符号16位整数。通过这个参数,我们可以知道APDU数据单元的长度,从而正确解析请求的内容。该结构体包含了请求的源地址信息,比如发送方的网络号、MAC地址等。的回调函数,用于处理读取属性操作的请求。参数表示请求的源地址,它是一个指向。在函数的实现中,我们首先通过。
2023-06-13 21:37:35 437 1
原创 BACnet多态对象详细介绍和应用场景
BACnet多态对象是一种特殊的BACnet对象,它可以用于表示具有相似属性和行为但不同类型的设备。多态对象能够将不同类型的设备组合成一个通用的对象类型,这样可以在BACnet系统中更方便地管理和控制这些设备。对象类型定义了对象的属性和行为,而对象实例号则用于区分不同的对象实例。总之,多态对象提供了一种灵活且可扩展的方法,用于表示具有相似属性和行为但不同类型的设备。多个设备具有相似的属性和行为,但是它们的类型不同,例如,多个不同型号的传感器可以使用多态对象来表示。
2023-06-08 23:05:22 375
原创 BACnet command对象介绍和应用场景
实现报警和安全控制:通过Command对象结合其他BACnet对象,例如报警对象、安全对象等,实现报警和安全控制,例如在一定时间内检测设备的状态并执行相应的操作,或者在一定时间内检测传感器的数值是否超过阈值并触发报警等。实现自动化控制:通过Command对象结合其他BACnet对象,例如时间表对象、设备对象等,实现自动化控制,如定时执行某些操作、根据温度传感器的数值自动调节设备温度等。它通常是一个整数值。控制设备的开关、调节温度等操作:通过Command对象发送控制命令,实现对设备的控制和监控。
2023-06-07 00:28:07 480
原创 BACNET定时器对象介绍和应用场景
定时器对象可以与其他BACnet对象一起使用,例如时间表对象、设备对象等,以实现更复杂的控制和调度功能。也可以将定时器对象与设备对象结合使用,以控制设备的开关、调节温度等操作。定时器对象还可以用于报警和安全控制等应用场景,例如在一定时间内检测设备的状态并执行相应的操作,或者在一定时间内检测传感器的数值是否超过阈值并触发报警等。Time Interval属性:表示定时器执行操作的时间间隔,即定时器执行操作后等待的时间。Time Delay属性:表示定时器的延迟时间,即定时器开始执行操作前等待的时间。
2023-06-05 21:49:08 147
原创 BACNET时间表对象介绍
时间表对象可以与其他BACnet对象一起使用,例如日历对象、定时器对象、设备对象等,以实现更复杂的控制和调度功能。也可以将时间表对象与设备对象结合使用,以控制设备的开关、调节温度等操作。Exception Schedule属性:表示时间表的异常情况,即在某些特定日期或时间段内,时间表应该执行不同的操作。它包含一周中每天的24小时,每小时可以有不同的操作,可以是一个数字、布尔值、枚举值或其他类型的数据。Effective Period属性:表示时间表的有效期,即时间表开始执行的时间和结束执行的时间。
2023-06-05 21:43:11 214
原创 BACNET如何实现MSTP转IP路由,用ARM实现
实现路由功能:需要实现BACnet MSTP和IP之间的路由功能,包括将MSTP数据包转换为IP数据包并发送到IP网络上,将IP数据包转换为MSTP数据包并发送到MSTP网络上等。集成硬件和软件:需要将ARM处理器、网络转换芯片或模块、网络路由器芯片或模块等硬件集成起来,并将BACnet MSTP和IP通信协议、MSTP和IP之间的转换、路由功能等软件集成到ARM处理器中。实现MSTP和IP之间的转换:需要实现MSTP到IP之间的数据包转换,包括地址转换、数据包格式转换等。
2023-06-04 09:35:07 483
原创 winform C#界面设计方法,处理组件拖放
拖放事件处理:当用户拖动一个控件时,可以在控件的DragDrop、DragEnter和DragOver事件中处理拖放操作。例如,可以在DragEnter事件中检查数据格式是否正确,然后在DragDrop事件中将控件添加到所需的容器中。当用户在容器控件中拖放控件时,可以在容器控件的DragDrop事件中将控件添加到相应的位置。可以使用拖放事件处理、数据格式、容器控件、控件位置和大小、控件对齐等方法来创建和编辑界面。控件位置和大小:在拖放操作中,可以通过设置控件的位置和大小来放置控件。
2023-05-28 18:43:09 734
原创 C语言的排序算法有哪些?
以上是常见的一些C语言排序算法及其实现示例代码,每一种算法都有自己的特点和适用场景。选择排序(Selection Sort)插入排序(Insertion Sort)冒泡排序(Bubble Sort)快速排序(Quick Sort)归并排序(Merge Sort)堆排序(Heap Sort)
2023-05-25 07:20:32 348
原创 C#的基本语法有哪些?如何使用它
程序中包含了命名空间、类定义、方法定义、变量声明、数据类型、条件语句、循环语句等基本语法元素。同时,程序中使用了System命名空间,该命名空间包含了C#语言中的常用类和函数,在实际应用中非常有用。变量声明:使用var、int、double、string等关键字声明变量。类定义:使用class关键字定义类,包括类名、成员变量、成员函数等。数据类型:支持多种基本数据类型,如整型、浮点型、布尔型、字符型等。条件语句:使用if、else if、else等关键字实现条件语句。
2023-05-22 21:42:31 296
原创 如何使用C#语言通过BACnet file对象上传和下载Json文件到控制器
使用BACnet库中的BACnetFile对象获取控制器中的BACnet file对象。BACnetFile对象是BACnet库中提供的一个类,用于管理BACnet file对象。BACnet file对象是BACnet协议中的一个标准对象,用于管理设备中的文件。该方法需要指定文件名、上传路径、要上传的文件内容等参数。在实际使用中,需要根据具体的场景和需求进行相应的调整和优化。同时,需要注意文件上传和下载的安全性和可靠性,以保证数据的完整性和保密性。该方法需要指定文件名、下载路径等参数。
2023-05-21 09:05:03 375
原创 C语言中如何使用结构体和回调函数创建对象属性和函数
通过结构体类型、对象属性和回调函数的定义和调用,就可以在C语言中创建对象,并对它们的属性进行修改,同时还可以使用回调函数对对象进行操作。需要注意的是,回调函数可以实现对象的函数功能,而不需要在结构体类型中直接定义函数,从而实现了较好的封装性和可扩展性。这里定义了一个名为my_function的回调函数,它接受一个指向void类型的指针obj作为参数,在函数体内将它转换为MyObject类型的指针,并访问对象的属性,从而修改它们的值。
2023-05-19 06:34:44 265
原创 c语言回调函数的说明和使用方法
回调函数是一种特殊的函数,它不是由程序直接调用,而是在某些特定的情况下由系统或其他程序调用。回调函数通常用于事件处理、消息传递等方面,可以实现程序的模块化和可扩展性。
2023-05-18 12:27:23 393
原创 BACnet协议相比modbus协议的优势在哪些方面
支持更多的应用领域:BACnet协议不仅可以用于楼宇自动化系统,还可以应用于工业自动化、能源管理、物流管理等领域,而modbus协议主要应用于工业自动化领域。更高的互操作性:BACnet协议是一种开放的标准协议,可以与不同厂商的设备进行互操作,而modbus协议则存在一些兼容性问题。综上所述,BACnet协议在应用范围、可扩展性、互操作性、安全性和数据传输精度等方面都具有优势,适用于更多的应用场景和需求。更强的安全性:BACnet协议支持多种安全机制,如身份认证、数据加密等,可以提高系统的安全性和可靠性。
2023-05-18 00:17:54 2254
原创 编写C语言程序如何降低耦合度
例子:在Linux内核中,许多子系统都使用了设计模式,例如驱动程序中的工厂模式、网络协议栈中的状态机模式等。例子:在Linux内核中,每个模块都有自己的头文件和源文件,通过模块之间的接口进行通信。例如,网络子系统中的TCP模块和IP模块就是独立的模块,它们之间通过接口函数进行通信。例子:在Linux内核中,每个模块都有自己的头文件,其中定义了模块的接口函数和数据结构。例子:在Linux内核中,使用了许多局部变量和参数传递的方式进行数据交换,避免了过度依赖全局变量。
2023-05-15 23:30:42 717
原创 C# 和 C 语言有哪些区别和联系以及各自有什么优缺点
C 语言的设计目标是为了开发 Unix 操作系统,因此它是一种系统级编程语言,能够直接调用操作系统提供的系统函数和系统调用。但是 C 语言具有比较高的灵活性和效率,可以直接操作硬件资源,因此在系统软件和嵌入式系统开发中仍然具有广泛的应用。由于 C# 语言具有良好的易用性和高效性,可以用于开发各种类型的应用程序,如桌面应用程序、Web 应用程序、移动应用程序等。C# 语言采用了现代化的语法,具有比较高的易读性和易用性。总的来说,C# 语言适合于开发大型的、复杂的应用程序,例如企业级应用、大型游戏等;
2023-05-15 08:33:28 6202
原创 如何通过BACnet IP协议设置和读取时间
循环运行BACnet协议栈,并在循环中处理接收到的BACnet请求。最后,使用定时器定时更新RTC时间。函数用于设置RTC时间。在主函数中,首先初始化BACnet对象,然后设置RTC时间为当前时间。请注意,上述程序仅用于示例用途,实际应用中还需要根据实际需求进行修改。上述程序使用BACnet IP协议实现了设备对象的设置和读取。函数用于获取当前时间,
2023-05-10 23:08:39 274
STM32电机库电机调速程序,带按键调速和软件表盘实时显示,调节速度可达10w转以上
2024-01-06
BACnet常用的开发工具,包括点位扫描工具,主站模拟工具以及抓包分析工具
2024-01-06
stm32f103RE CAN总线收发例程以及CAN总线协议完整资料
2024-01-06
常用的串口和网络调试工具
2024-01-06
STM32f103 wifi ESP8266 云平台控制例程,带按键控制,有操作说明文档
2024-01-06
stm32f103re modbus主站和从站例程
2024-01-06
使用单片机STM32F103C8T6 采用wifi芯片 ESP8266实现和机智云正常对接,用户可以实现自己的逻辑
2024-01-06
ESP8266 WIFI模块程序,基于STM32F103C8单片机,采用串口通讯和HAL库实现,带按键控制,程序模块化很好
2023-05-19
AGS01DB 基于STM32f103的开发例程,采用IIC通讯
2023-05-19
vscode是一个轻量且强大的跨平台开源代码编辑器,支持Windows,OSX和Linux 内置JavaScript、TypeS
2023-03-05
这篇应用笔记描述了如何在AT32 MCU上使用FPU功能
2022-06-04
从 STM32F10x 移植到 GD32E103 的移植说明
2022-06-04
AT32F403A AT32F407通过USB口进行IAP升级的keil程序和说明文档
2022-05-30
AT32 串口IAP升级程序以及操作步骤说明
2022-05-30
lpc1751.lpc1752.lpc1754.lpc1756.lpc1758系列单片机说明书
2022-05-26
st电机库无感调速,采用OLED显示
2022-05-22
新型国产单片机雅特力AT32F403A数据手册和选型表
2022-05-22
基于STM32F103单片机的modbus协议进行数据采集和显示的程序
2022-05-22
SetupSTM32CubeMX-5.2.0.rar
2021-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人