- 博客(381)
- 资源 (166)
- 收藏
- 关注
原创 PIC16F1936单片机HEX文件问题
开始还以为是编译器出问题了,最后经过查找资料才发现,在PIC16F1xxx系列单片机中,单指令的长度是14bit,是由2个8bit的字节拼起来的,所以hex文件中的地址是实际地址的两倍。这样编译器中的地址 0x7D1 * 2 = 0xFA2, hex文件中的地址 0xFC2 / 2 = 0x7E1。可以看到程序地址从0FA2开始存储,但是在编译器中查看程序数据时发现,0FA2地址中开始的值全是默认值。通过地址换算,然后对比地址中的数据,可以相互对应。说明hex文件中的地址和程序中的地址确实是2倍关系。
2025-03-25 16:17:22
172
原创 chm文件制作
想制作一个chm格式的说明文件,网上找的大多数方法都是先制作为word格式,然后再将word格式转换为网页格式,再使用chm转换工具进行转换,但是这种方法制作起来比较麻烦,通过一番摸索,终于找到了一个可以直接在软件里面编辑,并生成chm格式的制作软件 Dr.Explain。选中标题1,然后选择文本编译选项,就可以看到右边的的编辑区域显示出来了,这时默认的字体是英文,所以标题1中的中文显示都是一个方框,选中标题1,然后将字体改为中文。添加标题3,在标题2上右键,选择添加—添加同一级别的主题。
2025-02-26 10:07:15
1266
原创 PIC单片机设置bootloader程序和app程序地址方法
但是app的程序就能不能通过烧写器下载了,否则在下载app的程序时,boot loader的程序就会被擦除掉。第一行的数据存储地址是 0x2000,第2行的数据的存储地址就跳到了0xFF74,这个地址是由编译器自动分配的。这里的ROM ranges就是设置boot loader代码的存放地址,这个地址的范围也可根据自己代码的情况设置。APP的地址地址为0x2000,芯片的最大地址是0xFFFF,所以代码的存储范围就是0x2000到0xFFFF,可以打开编译好的hex文件查看。是由编译器自动分配的。
2025-01-21 17:04:51
1178
原创 PIC单片机HEX文件格式分析
04 表示后面的地址为扩展地址,因为数据地址只有2个字节,最大值只能表示到0xFFFF,如果地址超过0xFFFF,就需要用到扩展地址,表示将后面的地址值左移16位,如图中11行所示,后面的地址为0x0030,前面的数据为04,地址值就要左移16位,所以实际的地址值就是0x0300 0000。第16行是跳转到地址0x00F0 0000地址处,这个地址在芯片手册上未找到相关资料,不过根据17行的数据可以看出,在这个地址上写入的值是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
2025-01-21 15:06:46
897
原创 PIC单片机生成HEX文件中代码地址问题分析
这时候代码的存储位置变了,但是不是从0地址开始存储,而是从7FF地址前面了。当程序中没有中断的时候,代码存储的位置是编译器自动存放的,不一定是按照顺序从0开始存放的。以前使用STM32单片机的时候,生成的HEX文件,代码存储都是从0地址开始依次递增存储的,但是最近再使用PIC单片机的时候却发现这个单片机有点不一样。可以看到默认生成的代码存放地址都是从0x1000开始的,如果要修改存储地址的话需要再编译器项目属性里面设置ROM的地址范围。如果要设置代码的偏移地址的话,也可以在项目属性中设置。
2025-01-11 09:20:20
637
原创 嵌入式编程时如何分层设计代码
代码量少的话还可以,如果代码里比较多,需要在一堆代码中去找这些需要的代码也很费时间,假如某一个功能需要升级了,代码需要修改了,那么每个产品都需要找到对于的代码去修改,那工作量岂不是很大。串口数据接收的函数,由统一的一个函数就被分离成了 串口中断----->数据接收 两个部分,如果后面还需要对接收到的数据进行内部解析,按照这种思维再抽象一个协议解析的函数。将接收函数的参数,由一个修改为2个。将接收到的数据存储到数组中,并使用一个值来标记接收到数据的状态和接收到数据个数,如果收到回车换行符,就结束数据接收。
2024-12-22 13:59:28
806
原创 STM32CubeMX生成代码后汉字乱码解决方法
总的来说汉字乱码的原因就是UTF-8和GB2312这两种格式再IAR这个编译器中不会自动转换,需要使用vscode软件手动转换代码格式。这是由于,STM32CubeMX生成的代码默认的是UTF-8格式,这里虽然把编译器的编码格式改了,但是代码本身其实还是UTF-8格式。这个打印函数是在main.c文件中,在VScode 使用UTF-8格式打开,然后编码格式另存为GB2312。此时代码中的汉字是正常的,接着再点击右下角的编码格式。此时代码的注释是汉字,但是使用IAR软件打开之后汉字是乱码。
2024-12-19 21:55:14
1701
原创 IAR中如何而将定义的数组放在指定的位置
注意添加的第一行代码中内存地址的范围要在RAM地址范围之内,否则就会出错。使用这种方法的话,就不需要修改 stm32f103xb_flash.icf 这个文件内容了,直接使用默认的内容就行。但是这个方法在IAR中是用不了的,通过网上查找各种资料,发现了两种可用的方法。我这里测试的单片机是stm32f103c8t6,其他单片机的操作方法是一样的。这里要注意一个问题,如果使用第2种方法的时候,数组大小必须是4的倍数,否则编译会报错。好了,这两种方法就分享到这,如果后面发现了其他新的方法再补充。
2024-12-19 21:04:35
529
原创 关于CAN通信中同步机制的通俗理解
所以在上升沿或者下降沿的过程中有识别你是0,也有可能识别你是1,这样判断你的电平的时候就可以引起误差。现在唯一确定的时间就是你数数是1秒钟变化1次的,那么在你变化的一瞬间我就开始对你计时,然后在对比我自己数数的计时,这样就可以知道我和你的时间差是多少,如果我比你慢,那么下次我就提前变,如果我比你快,我就晚一点变。比如上图中的状态,当你从0变为1的时候,我开始计时,我这边开始变的时候我也计下时间,此时我就发现了,你比我快了0.1秒,那我我此时就可以推算出,如果你到了1秒钟变化的时候,我才数到0.9秒。
2024-12-14 16:35:40
705
原创 STM32F103单片机HAL库串口通信卡死问题解决方法
所以分析造成串口卡死或者数据丢失的原因主要原因应该是直接在接收中断中直接发送数据,由于是接收一个字节,立即发送一个字节,如果每次发送几十个字节的时候,每两个字节之间的时间是很短的。在接收回调函数中接收到数据之后先存放到数组之中,当收到回车换行符之后结束接收,然后在main函数中检测接收标志位,如果接收完成,再将接收的数据打印出来。在网上查资料发现造成这个原因主要是HAL的流程问题,当串口在发送数据的时候,如果又接收到了数据,程序中就会出现死锁的情况。所以就将正点原子的串口接收方法移植过来。
2024-12-09 21:40:58
1615
原创 STM32F103单片机使用STM32CubeMX创建IAR串口工程
最后编译下载程序,在串口回调函数中打个断点,使用USB转TTL连接单片机的PA10和PA9引脚,使用串口工具发送一个字母q,可以看到串口中断已经进去了,接收到的数据也是q。接下来设置时钟,选择时钟配置,左下角时钟源选择HSE,然后在HCLK的位置直接输入需要输出的时钟值,这里设置72,按回车键。接下里设置串口参数,这里直接使用默认值,波特率115200,8位数据位,1位停止位,无校验位,发送和接收模式。接下来设置工程名,选择工程存储的位置,设置编译器的类型,和编译器最低版本。这里的编译器选择为IAR。
2024-12-08 18:03:42
712
1
原创 STM32F103单片机使用STM32CubeMX新建IAR工程步骤
STM32F103单片机上,使用STM32CubeMX生成IAR工程设置步骤。
2024-12-07 22:24:34
639
1
原创 在PSIM中使用PIL功能和CCS软件进行联合调试
当仿真软件中输出口高低电平变化的时候,用示波器观察DSP芯片的GPIO64口,可以发现这个图IO的高低电平变化和PSIM中看到的高低电平是同步的。搭建一个PSIM仿真,这里搭建的功能是,使用一个正弦波发生器输出一个正弦波,然后使用ADC采样功能采样正弦波,如果采样值小于0.3V就IO口就输出一个高电平,否则就输出一个低电平。将代码的局部声明修改为全局声明,同时屏蔽掉读取ADC采样值这行代码,再联合仿真中ADC的采样将不需要从实际硬件的IO口读取,而是直接从PSIM仿真软件中获取。代码修改完成之后编译代码。
2024-05-20 23:30:00
1443
原创 PSIM软件中使用PIL功能实现软硬件联合调试
在硬件电路中是4个信号,而在代码中只有三个信号,那是由于第二个IO的输入输出信号是一样的,系统生成代码的时候输入输出就使用了一个信号。PSIM软件中有一个PIL模块,可以实现在仿真的过程中程序在硬件芯片上执行,然后执行结果直接输出到PSIM仿真软件中。然后将输入信号的读取屏蔽掉,仿真的时候fDIN1和fDIN1_1的值由仿真软件直接设置,所以不需要读取命令。,用3.3版本的格式导入刚才生成的代码。输出口GPIO67/68在开发板上连接的是LED指示灯,所以当软件仿真的时候,开发板上的指示灯也会闪烁。
2024-05-17 23:45:00
1856
5
原创 使用CCS软件查看PID曲线
这是因为取消延时后,图形显示的刷新率太低,不能实时捕获到每个数据,所以直接显示变量的曲线就看不出来细节了,而数组显示比较完整,是因为代码中将过程中的所有数据都先存储到了数组中,然后根据数组中的数据来绘制曲线。这是两种很典型的PID算法,一个位置式,一个增量式。此时又增加了一个显示窗口,但是这两个窗口重叠在了一起,看起来不方便,在窗口标题处按住鼠标左键,拖动窗口,将两个图形显示调节到合适的位置。添加完成之后,将黄色箭头的图标选中,这个是实时刷新功能,这样在代码全速运行的时候,就可实时看到变量值在变化。
2024-04-17 22:45:00
2292
1
原创 CCS在线调试时实时修改变量值
在使用CCS调试dsp芯片时,发现CCS软件有一个非常好的功能,在仿真调试的时候可以实时修改代码中变量的值。将数据寄存器展开,LED主要在GPIOC口的64–68,默认情况下端口值都为1,将变量value的值直接修改为11,点亮LED1。开始调试程序,按照上面的方法将变量value的值添加到变量观测窗口,同时也将value的值添加到图形显示中。通过switch语句中的value值控制LED的亮灭,其中LED的端口控制使用宏定义的方式。当value的值修改为11时,可以看到GPIO68的值由1变为了0。
2024-04-14 13:45:00
3643
原创 CCS中实时显示ADC采样波形
CCS软件中带有波形显示工具,在调试代码的过程中可以比较方便的将代码中待观测的变量直接用曲线的方式显示出来。下面就演示一下如何在CCS中使用波形显示。这里使用28335芯片,用一个简单的工程来测试。
2024-04-14 10:15:00
5702
原创 DSP28335在CCS代码实现Clarke、Park变换及反变换
要进行clarke和park变换,首先要进行三相正弦信号的生成。具体生产方法见上一篇文章。
2024-04-13 22:45:00
2128
6
原创 使用DSP28335在CCS中生成正弦波
为了方便修改参数,将每个周期采样的点数,和总共采样的点数设置为宏定义。修改代码如下。#define PI3.1415926//定义圆周率#define F50//正弦波频率#define TN100//每个周期需要采样的点数#define N500//总共采样的点数,数组大小float sin1;int i;float t;for (i = 0;i < N;i++)将宏定义设置为每个周期采样100个点,总共采样500个点,也就是5个周期。将波形采样点设置为500。
2024-04-12 21:15:00
4207
原创 PSIM仿真DSP28335ADC功能并使用SCI串口模块输出曲线
使用的主要模块有ADC模块和SCI模块,通过波形发生器产生一个正弦波,分别送到ADC采样口A0和B0,在送入A0口之前,加了一个限幅器,将最小值限制在0V,最大值限制到3V,然后ADC模块的输出口分别接串口和电压探头,在接电压探头的时候,必须给前面添加一个零阶保持器,否则仿真会报错。将ADC采样通道的A0和B0的存储值添加到观察窗口,旋转开发板上电位器,可以看到检测窗口的值在变。在CCS中将A0通道的采样值用图形显示出来,旋转开发板上的电位器,可以看到A0的值一直在变。
2024-01-23 23:00:00
1786
原创 使用PSIM软件生成DSP28335流水灯程序
由于方波发生器的频率设置的非常低,只有10Hz,而仿真时间设置的比较短,只有10ms,所以看不到波形,将仿真文件中的钟表图标双击打开,将仿真时间修改为1秒。接下来给IO口设置输出信号,想让LED按照10Hz的频率闪烁,要产生这个10Hz的信号,就需要使用一个方波发生器。时钟的默认设置是外面晶振30MHz,DSP工作时钟为150MHz,和我的开发板设置一样,所以这里使用默认的就行。接下来好需要放置IO口输出模块。然后将D1到D4口都连接到D0口上,让这几个口的信号一样,然后将没有用到的D5—D7接地,
2024-01-22 18:58:20
2881
2
原创 CCS中静态库lib的生成与调用
详细讲解了在CCS中如何将工程中的相关.c文件封装为静态库.lib文件,并在其他工程中调用此lib静态库。
2023-11-30 16:42:00
6859
4
原创 如何将立创EDA中的元器件封装快速导入到AD软件中去
那么就可以直接将立创EDA中元器件的封装直接导入到AD中使用,这样在AD中画图也就不需要画封装了。比如现在要画一个4G模块的板子,将所需要的元器件全部放到原理图中,比如电容、电阻、二极管、晶振、按键、单片机、4G模块、USB接口。在使用AD软件画PCB的时候,最费时间的就是找元器件的封装。将库文件保存在指定位置,以后在AD中画PCB时就可以直接使用自己生成的这些库文件了。通过上面的方法就可以快速的将立创EDA中的元器件封装库导入到AD中使用了。这时AD就会将PCB中所有的元器件生成一个库。
2023-11-03 17:40:23
2428
原创 Modbus协议学习方法
在刚开始接触modbus协议的时候,很容易被里面的各种功能码搞晕,同时在编写程序的时候也容易搞不清楚每一位数据代表的含义。如果在学习的过程中有实际的发送和接收数据的例子话,那么理解modbus协议就会更容易一些。下面我将自己借助软件学习的方法分享给大家
2023-06-28 18:16:14
1474
1
原创 如何将bootloader和APP程序一次性烧录到单片机中
首先将bootloader程序烧写到单片机中,然后通过串口将app程序写入到单片机内容,在平时学习和测试的时候这种方法没啥问题,但是如果产品需要量产,每次少些程序的时候都有通过这种方法的话,那效率就要低很多。这里添加刚才新合并的hex文件,将文件添加进来之后,在底下的信息框中就可以看到这个hex文件是由两部分构成的。这个地址分别是bootloader和app文件的地址。将bootloader的hex文件和app的hex文件合并成一个新的hex文件,接下来使用j-link的烧写软件进行烧写。
2023-06-11 11:05:45
3006
4
原创 使用Notepad++查看16进制文件遇到的大坑
按理说这个插件是直接从官方渠道安装的,没有什么问题。在调试程序的时候就发现,单片机接收到的数据和在这个notepa++里面看到的数据不一样,还以为是自己的串口受到了干扰,单片机和串口模块检查了好久都没发现啥问题,又在程序上排查了好久,还是没找到问题。最近在调试单片机的IAP升级功能,需要将bin文件直接通过串口发送给单片机然后升级程序,在调试代码的时候,为了方便观察发送的数据是否正确,就直接使用了Notaped++里面的16进制插件来查看bin文件,谁知道这个插件却给自己埋下了一个大坑。
2023-06-11 09:38:04
3971
8
原创 keil从非0x08000000地址调试STM32单片机程序方法
在使用stm32单片机的串口IAP升级功能时,需要调试bootloader程序和app程序,一般bootloader的程序都是从0x08000000地址开始运行的,使用keil软件可以直接进行仿真,但是如果调试app程序的话,由于它不是从0x08000000地址开始的,使用keil仿真的时候,仿真不了。为了可以直接使用keil仿真APP程序,在网上找了好多方法,不过好多方法都讲的比较凌乱,看起来也不方便。下面就将自己总结的2种方法分享出来。
2023-06-07 19:59:55
5993
9
原创 STM32F407单片机HAL库CAN2不能接收数据解决方法
下面就就是can的时钟,这里要注意一个就是使用can1的时候,开启can1的时钟就行,但是使用can2的时候,也必须开启can1的时钟。在can的控制器中,存储访问控制器是由can1控制的,当使用can2的时候,can2要访问存储访问控制器时,必须通过can1才能访问,所以使用can2的时候,can1为主机,can2为从机。当使用can2的时候,直接将值设置为14。的值就很关键了,这个值的含义是,从机滤波器的起始地址,那么当使用can2时,can2就是从机,那么这个值就是can2滤波器的起始地址,而上面。
2023-05-27 17:08:41
3649
5
原创 jlink-v8刷固件及解决keil报错 j-link is defective,j-link clone
今天在调试STM32F407的程序时,下载程序时突然keil识别不到jlink了,还以为是驱动的问题,重新装了好几次驱动,结果还是不行,于是就网上找各种办法,最后决定重新刷固件。网上的方法很多,好多都失败了。现在把我刷成功的过程分享给大家。
2023-05-26 20:59:34
2740
原创 STM32F407+LWIP+DP83848以太网驱动移植
最近有个项目上需要用到网络功能,于是开始移植网络相关代码。在移植的过程中感觉好难,网上找各种资料都没有和自己项目符合的,移植废了废了好的大劲。不过现在回头看看,其实移植很简单,主要是当时刚开始接触网络,各种新的知识和概念扑面而来,加上LWIP这个协议的相关资料,一下接触的太多,大脑已经混乱了。所以就感觉很难,当各种逻辑梳理清楚的时候,移植起来就很简单了。
2023-05-20 14:10:32
7466
6
原创 如何使用Understand软件查看STM32单片机HAL库函数调用关系
但是Understand软件在工程代码中却找不到这两个宏定义,所以就默认这两个宏定义没有定义,相关的代码就不会被编译。在使用STM32单片机的HAL库函数编程时,会发现好多中断函数里面都有各种回调函数,还有好多函数的调用深度比较深,在编写代码的时候,有时候想查看某个函数是如何被调用的,查看起来非常麻烦。通过这种手动增加宏定义的方法,就可在Understand软件中查看HAL库函数的调用关系了,通过图形化的界面帮助我们在写程序的时候更加高效。函数,而这个函数又调用了can.c文件里面的。
2023-05-17 21:56:58
1993
原创 stm32f407单片机上通过HAL库实现can总线数据的收发
最近在使用can总线,由于这个以前接触的比较少,所以调试代码的时候直接是下载的正点原子的例程,在这个基础上修改调试的。现在将调试中遇到的问题,总结一下,避免以后踩坑。目前写了一个查询方式的,一个中断方式的。
2023-05-17 20:11:23
4692
3
原创 如何使用Wireshark软件分析TCP协议
在学习网络相关知识的时候,需要对网络协议进行分析。网络协议分析软件用的最多的就是 Wireshark 这个软件,今天就简单总结一下如何使用这个软件进行TCP三次握手和四次挥手的查看。
2023-05-14 15:30:34
5047
原创 使用Advanced Installer软件将winform程序打包成exe安装文件
于是想着要给别人发送程序时,能不能直接发送一个安装包,不管什么系统,安装包在安装的时候自动下载需要的.net环境,而vs默认没有提供程序直接生成exe安装文件的功能。在使用vs编写c#代码时,一般都是在debug文件中双击exe文件就可以执行,但是有时候需要将这个exe文件发给别人使用,在自己的电脑上exe文件可以执行,但是在别人的电脑上有时候打开后会报错,提示缺少.neta运行环境,还需要单独去下载.net环境。选择好之后点击下一页。这个安装路径也是刚才在打包的界面中设置的路径,直接点下一步。
2023-05-14 12:10:31
2371
原创 TCP协议三次握手四次挥手详细分析
服务器收到客户端的SYN包之后,必须确认客户的SYN,也就是将客户端的上次发来的序号加1,上次客户端发来的序号是1213270320,加上1之后是1213270320=1,同时自己也发送一个SYN包,即SYN+ACK包,由于由于服务器是第一次给客户端发送数据,所以服务器也会随机生成一个序号6510,此时服务器进入SYN_RECV状态;客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,第二次握手时服务器发来的序号为6510,所以本次向服务器确认时,需要将服务器的序号加1返回,也就是返回6510。
2023-05-10 22:38:37
950
原创 嵌入式代码查看分析利器---Understand
平时在开发嵌入式程序的时候大多数使用的都是keil软件,一般小的工程使用keil没感觉到有什么问题,但是当工程比较大的时候,比如移植了FreeRTOS系统或者LWIP网络系统时,代码全部编译一次就要花费很长世间,特别是开启了点击函数右键跳转的功能之后,速度更加慢。通过上面这个6种功能,可以对main函数和其他函数的调用关系进行各种方式的分析,让我们对这个工程代码能进一步的深入了解。如果想进一步了解这个函数的其他信息,可以在这个函数上单机鼠标右键,在属性中查看,这里就不再一一列举了。
2023-04-29 13:16:01
12276
26
原创 使用SPICE Explorer 软件查看示波器csv格式波形文件
平时调试电路的时候,经常需要将示波器的波形保存下来,保存的照片经常局部细节看不清,分析电路的时候不方便。示波器也可以将波形保存为csv格式的文件,这个文件可以使用表格打开,但是通过表格查看数据也很不方便。无意间在发现使用SPICE Explorer这个软件可以直接查看csv格式的文件,在这个软件里面可以缩放波形,查看波形的细节。需要点开csv文件前面的加号,选择toplevel,这时候左下方就会出现波形中保存的通道号。使用刚才复制的网卡地址替换第一行的网卡地址,然后保存文件。点击exe文件进行安装。
2023-03-16 16:55:31
4953
13
原创 STM32F407软件仿真时不能进入main函数解决方法
最近在用keil软件仿真功能仿真STM32F407单片机时,发现进不到main函数位置处。下来点OK按钮,保存设置。这时候再使用软件仿真的时候,就可以直接进入到main函数中了。开始仿真的时候总是卡在Wait till HSE is ready 这块。网上找了好久解决方法,总算是搞定了。接下来在keil软件中点击魔术棒工具,切换到Debug选项设置界面。然后使用记事本打开该文件,在里面输入下面的内容。然后选择keil安装目录下的这个。接下来打开keil的安装目录。复制到keil的安装目录中。
2023-03-07 16:52:10
3134
9
原创 STM32系列单片机标准库移植FreeRTOS V10.4.6详解
最近看正点原子新录制了手把手教你学FreeRTOS的视频教程,看了一下教程发现视频里面讲的是使用HAL移植 FreeRTOS V10.4.6 版本,以前的标准库移植的是FreeRTOS V9.0 版本。而自己平时写代码使用的都是标准库,就想着能不能把FreeRTOS V10.4.6 版移植到标准库中去。为了移植简单,直接下载正点原子的代码在上面修改。
2023-01-07 15:48:46
5190
4
原创 好用的翻译软件---知云文献翻译
对于搞技术的人来说,英语是逃不过去的一关,但是有的人英语底子弱一点,在开发的过程中如果需要看英文文档的时候,是非常痛苦的。特别是好多词汇是准用词汇,如果直接用翻译软件翻译的话,翻译出来的往往都是驴头不对马嘴,所以经常只能用翻译软件一个单词一个单词的去看意思,然后自己再把单词组合起来去理解。这样可以根据自己的需求随时翻译需要的地方,可以每次翻译一个单词,也可以每次翻译一段话。打开PDF后,需要翻译的时候用鼠标选中内容,右边就会自动翻译,如果不需要翻译,就不用操作。同样在网页中查看的时候,它也可以翻译。
2022-12-08 16:39:31
3132
7
PSIM仿真PIL功能
2024-05-17
PSIM软件中仿真DSP28335串口
2024-01-23
PSIM仿真软件生成DSP28335代码
2024-01-22
使用 28335芯片在CCS中编译环境中,静态库Lib的生成与调用相关工程示例代码
2023-11-30
STM32标准库移植FreeRTOS V10.4.6步骤及资源
2023-01-07
STM8单片机通过PWM波触发定时器采样
2022-02-10
STM8单片机通过定时器触发ADC采样
2022-02-10
STM8单片机自制简易温度巡检仪
2021-11-25
STM8单片机ADC连续扫描模式并开启模拟看门狗功能 #资源达人分享计划#
2021-08-05
STM8单片机ADC单次扫描模式并开启模拟看门狗功能 #资源达人分享计划#
2021-08-05
STM8单片机ADC连续采样使用模拟看门狗功能 #资源达人分享计划#
2021-08-05
STM8单片机ADC单次采样使用模拟看门狗 #资源达人分享计划#
2021-08-05
STM32单片机实现DMA+ADC+UART功能
2020-12-31
手把手教你移植rt-thread
2020-12-10
stm32f103c8t6+ESP8266 模块设置为Station模式并连接原子云
2020-12-08
stm32f103c8t6+ESP8266 模块设置为Station模式向电脑发送数据
2020-12-08
stm32f103c8t6+ESP8266 模块设置为Station模式向手机热点发送数据
2020-12-08
STM32F103用串口空闲中断+DMA实现modbus通信示例
2020-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人