- 博客(101)
- 资源 (3)
- 收藏
- 关注
原创 W25Q128---读写
总结:通信方式是SPI,读数据可以从任何地方读,写数据和擦出数据需要按照页或者扇区或者簇为单位进行。写数据:一次最多写一页,如果超出一页数据长度,则分几次完成。例如本芯片一个扇区为4096个字节,那么需要写16页,要进行至少16次按页写数据。擦数据:擦数据的最小单位是一个扇区,也可以直接擦出整个芯片。芯片介绍:容量:16Mbytes 一页为256个字节 一个扇区为4K个字节数据手册介绍:The W25Q128FV array is organized into 65,536 program
2021-10-08 14:05:55
1268
原创 关于步进电机和步进伺服的控制思考
步进电机和伺服步进电机的区别参考:《电机驱动方案对比:步进、闭环、交流伺服》 :https://m.sohu.com/a/294905905_755644关于步进电机单脉冲法:发送固定个数的脉冲,可以简单的位置控制(低速)使用定时器中断,基数脉冲个数。可以对步进电机做梯形或者S形的加速控制。优点:可以降低步进电机的开环丢步,但是频繁中断。关于步进伺服电机1:单脉冲法 :参考步进电机2:门控方式:用主从定时器门控方式,比较繁琐;3:高级定时器T1、T8的重复计数方式 高级定时器有一个8位
2020-12-16 11:03:16
500
原创 物联网基础知识之二:SSL证书非双向认证
HTTP 简介: HyperText Transfer Protocol,超文本传输协议,是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。 使用TCP端口为:80HTTP...
2020-09-27 15:10:11
443
原创 物联网基础知识之三:CJson
cJSON是一个基于C的JSON解析库,这个库非常简单,只有cJSON.c和cJSON.h两个文件,支持JSON的解析和封装,需要调 用时,只需要#include "cJSON.h"就可以使用了, 库源码下载地址:cJSON download JSON官方网站:json 示例一:只包含键值对的JSON字符串解析JSON字符串:{"name": "Andy", //键值对1"age": 20 //键值对2}这个JSON对象只有两个键值对,键name对应字符串A...
2020-09-24 23:40:03
440
原创 物联网基础知识之一:http和https
HTTP 的特性:①HTTP 协议构建于 TCP/IP 协议之上,是一个应用层协议,默认端口号是 80 .②HTTP 是无连接无状态的.③HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。GET,POST,PUT,DELETE:规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样:HTTP 定义了与服务器交互基本方法HTTP 定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELET...
2020-09-22 23:14:04
1140
原创 HSIC一种基于USB的高速芯片通讯协议
从下面的资料可看出:①USB+PHY 之后通过USB cable 连接。②USB2.0可以直接通过HSIC直连,属于芯片间的连接方案。速度可达480M,是IIC的理想替代。芯片间USB(IC-USB;有时也称为USB-IC,芯片间USB或高速芯片间;HSIC)是USB实施者论坛的USB 2.0规范的附录。HSIC的USB 3.0后继产品称为超高速芯片间(SSIC)。USB 2.0高速芯片间(HSIC)是USB 2.0的芯片到芯片变体,它消除了普通USB中的传统模拟收发器。2007年,USB.
2020-09-21 22:32:06
5912
原创 《基于stm32的直流有刷电机的控制》:PID原理,增量式,位置式
《基于stm32的直流有刷电机的控制》PID原理,增量式,位置式(1)什么是PID:PID 控制器以各种形式使用超过了 1 世纪,广泛应用在机械设备、气动设备 和电子设备.在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法。PID 实指“比例 proportional”、“积分 integral”、“微分 derivative”,这三项构 成 PID 基本要素。每一项完成不同任务,对系统功能产生不同的影响。它的结构简单,参数易 于调整,是控制系统中经常采用的控制算法。
2020-05-18 18:22:26
7182
原创 《基于stm32的直流有刷电机的控制》:驱动和制动原理
直流电机驱动方式很多,例如简单的 “无制动的不可逆PWM系统”,“有制动的不可逆PWM系统”这些原理简单,但是不实用。下面只介绍两种常用的驱动方式和其原理。电机的正转:电机的反转:在常用的单极性和双极性驱动,其接线方式均如图。采用STM32提供互补的PWM驱动。一、单极模式电机电枢驱动电压极性是单一的。需要对同一侧桥臂的两个MOS管进行互补PWM控制。要使用高级定时器的互补通道进...
2020-05-06 13:11:32
6874
5
原创 C语言处理按键的 单击(短按),长按,双击,多击 处理
【一】:(1)如果为按键按下到释放的一个过程,t1 如果大于 250ms 认为按键有效否则 按键无效,不做处理。(2)如果联系两个双脉冲,脉冲之间相差时间t2 < 1S 认为是 双按键否则 判定为两次不相干的按键行为。(3)如果按下时间t3 >=5s 判定为长按键【二】按键的处理函数 void APP_KEY_Task(void) 每5ms 调用一次该函数需...
2020-01-08 22:30:32
18324
2
原创 DSP TMS320C6713工程如何bootload下载记录
同事留下的程序,没研究通呢,下flag下操作程序:(1)程序分两个个工程:先用下面的工程生产bin文件,然后将bin文件拆分两部分,放在BOOT_OK程序里,生产新的程序并且下载。(2)编译文件:找到生成的boot_c671x.s62.可以看到生成的代码长度是5c1c5C1C指的是代码大小,在内存中占 5C1C (23580) ÷ 4 = 5895 字节(2)...
2019-12-25 17:01:33
1256
1
原创 printf
不错的方式格式化输出log ,#ifdef USER_MAIN_DEBUG#define user_main_printf(format, ...) printf( format "\r\n", ##__VA_ARGS__)#define user_main_info(format, ...) printf("[\tmain]info:" format "\r\n", ##__VA_AR...
2019-12-13 13:52:08
283
原创 STM32 sprintf操作浮点数导致hardfult
挖坟老帖:https://www.amobbs.com/thread-3258924-1-1.html遇到的问题:stm32f407 ucosIII 调用sprintf操作浮点数然后导致hardfult。根据论坛:尝试了(1) 堆栈对齐:(2)修改优化级别然而没什么卵用:理论上原因是ucosIII 是四字节对齐 而sprintf 需要的库是8字节对齐导致的。解决方法:依然8字节...
2019-10-23 13:14:26
3142
1
原创 AD7606的并行采集
#include "bsp_ad7606.h"typedef enum { INPUT = 0x00, OUTPUT = 0x01, AIN = 0x03}PinMode;typedef struct{ GPIO_TypeDef* GPIOx; uint16_t Pin; PinMode Mode;}MYGPIO;MYGP...
2019-10-16 12:43:46
3839
2
原创 stm32后生成编译文件大小探索之二
之前总结过编译文件大小的一些研究:https://blog.csdn.net/ZenNaiHeQiao/article/details/83343504总结起来是这样的:(1)单片机:生产的编译信息中,包含了code : 代码信息RO-data: 只读信息–》程序中的指令 和常量RW-data: 被初始化的变量ZI-data: ...
2019-10-08 23:13:13
796
原创 STM32 F4 CAN HAL 配置
CAN HAL 配置遇到的问题记录:(1)CAN在调用之前,进行了自测试. (非中断模式),如果改为中断模式,只能正常接收数据一次。(2)滤波器的设置:参考:STM32之CAN —CAN ID过滤器分析再谈STM32的CAN过滤器-bxCAN的过滤器的4种工作模式以及使用方法总结stm32之CAN发送、接收详解(3)bsp_CAN.C/* 包含头文件 -------------...
2019-10-07 16:10:39
1495
原创 CAN分析仪资料
CAN分析仪 CANOpen J1939 USBcan2转换器 USB转CAN 兼容zlg链接:https://pan.baidu.com/s/1kuTjnv5AmGJAKmoHHLd79g提取码:9c53
2019-10-06 17:15:47
1057
原创 C一些陷阱
int a[5]={1,2,3,4,5}假设起始地址是0x2000 0000地址数值0x2000 000010x2000 000100x2000 000200x2000 000300x2000 000420x2000 000500x2000 000600x2000 000700x2000 000830...
2019-09-18 23:12:24
190
原创 C# 字节数组与字符串互相转换
(1)byte 转 stringASCIIbyte[]转成string:(byte[] = new byte[]{ 0x30, 0x31} 转成"01")string str = System.Text.Encoding.ASCII.GetString ( byteArray );(2)string类型转成ASCII byte[]:(“01” 转成 byte[] = new byte[...
2019-09-10 23:25:03
593
原创 嵌入式设计模式:有限状态自动机的C语言实现
转载自:https://www.cnblogs.com/autosar/archive/2012/06/22/2558604.html很欣赏作者的编程思路,以及娴熟的指针使用技巧:顺带再吧程序欣赏一遍。typedef int State;typedef int Condition;#define STATES 3+1#define STATES_1 0#define STATES...
2019-09-08 17:49:00
380
转载 C语言编码规范
安富莱C语言编码规范 1–文件与目录1、文件及目录的命名规定可用的字符集是[A-Z;a-z;0-9;._-]。2、源文件名后缀用小写字母 .c 和.h。3、文件的命名要准确清晰地表达其内容,同时文件名应该精练,防止文件名过长而造成使用不便。在文件名中可以适当地使用缩写。以下提供两种命名方式以供参考:(1)各程序模块的文件命名开头 2 个消协字母代表本模块的功能:如:主控程序为 mpMa...
2019-06-17 17:16:08
2447
原创 (5)DSP TMS320C6713学习bootloader
DSP TMS320C6713工程如何bootload下载记录https://blog.csdn.net/ZenNaiHeQiao/article/details/91527281Bootloader与VectorTablehttps://blog.csdn.net/xiahouzuoxin/article/details/9713461
2019-06-12 15:05:17
1203
原创 (4)DSP TMS320C6713学习 工程导入
CLS :DSP的驱动库https://blog.csdn.net/mdqaq/article/details/53941808EMIF:数据交换接口https://www.cnblogs.com/limanjihe/p/9814142.html关于二次引导:http://www.docin.com/p-762878936.html关于库文件:TMS320C6000 外设库CLS\c...
2019-06-12 13:14:46
1302
原创 (2)DSP TMS320C6713学习 开发环境搭建
链接:https://pan.baidu.com/s/1fOUAB_qX0Q88VV7ciLWirg提取码:s0uvCCS安装1、双击CCS安装文件出现如图所示单击第一个,accept,单击Next2、选择安装路径单击Next3、单击Next4、选择c6000多核就行了7、单击Next8、默认继续Next9、单击Next就会进入安装,耐心等待就好了。驱动...
2019-06-11 18:44:39
3078
1
原创 (1)DSP TMS320C6713学习 概论
DSP 特点:在大部分的DSP算法中,乘积和(sum of product, SOP)是最基本的单元。DSP对乘法和加法做了优化,乘法与加法在DSP上一般在一个指令周期内完成,这也是为什么DSP适用于做信号处理的原因。浮点DSP与定点DSP的使用场合对比:TMS320C6713B是一款浮点型DSP浮点DSP一般用于高精度、宽的动态范围、高信噪比,一般比较容易使用。定点DSP具有更低...
2019-06-11 18:19:47
1397
原创 stm32处理器调试模式下运行正常,上电自启动后运行不正常的故障排查分析
最近用到STM32F103的芯片,芯片单步正常,直接上电不能正常工作,加上程序中里面有点bug.然后就各种莫名奇妙。后面,单步状态把bug找完之后,理论上上电就可以正常跑了。但是总会出现莫名其面的问题。比如,①单步正常,直接跑就异常。 ② 异常指的是程序不是死机或者hardfault而是不按照预想的逻辑,但是还是看似正常的运行。③用镊子复位,其可以正常起来,百度了一下:https:...
2019-06-08 14:09:52
6326
2
原创 STM32F429 如何使用LCD(2)
提供一下IPS 5寸屏幕的链接:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-1175222619.21.72611ce87gApzL&id=524686134827刚开始是在安富莱V6的开发板上焊接的调试了好久。需要注意的坑有一下:(1)该屏幕使用LCD驱动为ILI9806 ,使用的触摸芯片是ft6206。第一步选择:L...
2019-03-31 13:12:27
1464
原创 STM32F429 如何使用LCD
(1)硬件接口http://forum.armfly.com/forum.php?mod=viewthread&amp;amp;tid=32761&amp;amp;highlight=F429%2BLCD
2019-03-31 11:01:29
4081
1
原创 百字箴
耕夫碌碌,多无隔夜之粮;织女波波,少有御寒之衣;日食三餐,当思农夫之苦;身穿一缕,每念织女之劳。寸丝千命,勺饭百鞭。无功受禄,寝食难安。交有德之朋,绝无益之友。取本分之才,戒无名之酒。常怀克己之心,闭却是非之口。若能依朕之言,富贵功名可久。...
2019-03-29 09:36:33
356
原创 STM32F429 如何使用NAND Flash
(1)原理介绍:http://www.51hei.com/stm32/3609.html(2)文件系统(3)坏块管理(4)操作使用
2019-03-05 10:19:40
3509
1
原创 STM32F429 如何使用SDRAM
关于STM32F429 控制SDRAM( FMC—扩展外部SDRAM )(1)原理介绍:https://www.cnblogs.com/firege/p/5805812.html 》为什么是FMC 不是 FSMC ?区别在那里! STM32F429使用FMC外设来管理扩展的存储器,FMC是Flexible Memory Controller的缩写,译为可变存储控制器。...
2019-03-04 14:48:46
4642
原创 (2)touchgfx的轮播效果
轮播 “旋转木马”效果Carousel 小部件的目的是提供一个漂亮的轮播功能,不使用大量的MCU资源。Carousel 小部件例程中为5个可见元素。但是,如果需要,可改变。请注意,Carousel小部件使用ExtendedZoomAnimationImage.hpp。此小部件也可以在TouchGFX Open Widget Repository中找到。此文件包含在Carousel.hpp文件...
2019-01-10 15:22:50
2908
2
原创 (1)touchgfx 添加时钟控件
第一步:添加图片:链接:https://pan.baidu.com/s/1NI6LUYrTUs64Z2jZE6AAQQ 提取码:2odw添加控件:位置部件属性1Tiled Image 1. name : background 2. X Y W H: 0 ,0 ,880 ,480 ; Visable 3. IMAGE: backgro...
2019-01-07 21:47:32
3813
4
原创 74HC595使用
引脚定义:9 脚 : Q7/2 (SQH) 串行数据输出14脚:DS (SI )串行数据的输入13脚:OE 输出使能 接地常使能10脚:MR (SCLR)移位寄存器清零端 接高电平11脚: SCK 数据输入时钟 上升沿 数据移位12脚:...
2018-11-18 20:09:02
1179
转载 STM32F03开发板--系统时钟设置SysTick
首先我先分析下startup_stm32f0xx.s启动代码,其中/* Call the clock system intitialization function.*/ bl SystemInit/* Call the application\'s entry point.*/ bl main发现开发板上电启动过程中,先调用了SystemInit()函数,再进入main()函数。...
2018-11-16 11:29:31
1608
原创 STM32定时器
前言:如上图定时器控制分为6个部分:①时钟源②触发控制器③时基单元④输入捕获模块⑤输出比较模块⑥断路功能。一:时钟源可以来自①_1:内部时钟①_2:外部时钟模式11_时钟输入引脚TIMx_CH1/2/3/4 ---->2_滤波—>3_边沿检测—>4_触发选择–>5从模式选择(选定了触发源信号后,信号是默认接到 TRGO 引脚的,需要让触发信号成为外...
2018-11-15 16:35:42
496
原创 FreeRTOS信号量
FreeRTOS中信号量又分为二值信号量、计数型信号量、互斥信号量和递归互斥信号量1:二值信号量二值信号量通常用于互斥访问或同步,二值信号量和互斥信号量非常类似,但是还是有一些细微的差别,互斥信号量拥有优先级继承机制,二值信号量没有优先级继承。因此二值信号另更适合用于同步(任务与任务或任务与中断的同步),而互斥信号量适合用于简单的互斥访问.创建:函数名原型功能v...
2018-11-05 16:52:52
1132
原创 FreeRTOS软件定时器
1.软件定时器:软件定时器允许设置一段时间,当设置的时间到达之后就执行指定的功能函数,被定时器调用的这个功能函数叫做定时器的回调函数。回调函数的两次执行间隔叫做定时器的定时周期,简而言之,当定时器的定时周期到了以后就会执行回调函数。2.软件定时器功能:单次定时器:(例如定时1S,当定时时间到了之后执行一次回调函数,然后定时器停止运行。需要手动重新启动。)周期定时器:(例如定时1S,每当...
2018-11-05 13:56:31
1782
转载 RS485设计与应用指南
0. 前言当前自动控制系统中常用的网络,如现场总线CAN、Profibus、INTERBUS-S以及ARCNet的物理层都是基于RS-485的总线进行总结和研究。1、EIA RS-485标准在自动化领域,随着分布式控制系统的发展,迫切需要一种总线能适合远距离的数字通信。在RS-422标准的基础上,EIA研究出了一种支持多节点、远距离和接收高灵敏度的RS-485总线标准。RS-485标准采有...
2018-11-05 11:27:55
1755
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人