- 博客(53)
- 收藏
- 关注
原创 技术知识点汇总-20220720
4、串口、IIC、SPI、CAN、ADC、DAC、PWM、内部Flash存储、RTC、定时器、RNG、DMA、USB的相关使用和开发经验。8、ESP32、zigbee模组、ublox、4G模块、蓝牙模块的开发经历。6、温湿度、绝压、差压、流量传感器、......数据的采集。7、EMWIN、TouchGFX的开发经历。10、RSIC-V的开发经历。1、LWIP轻量网络协议栈。2、RTOS的实际使用经历。9、关于无线更新程序的实践。一、关于MCU控制的技术。5、串口迪文屏的界面开发。11、AIS协议栈的开发。.
2022-08-01 19:15:19 185
原创 兆易创新GD32F450控制器(3)--- 串口DMA通信
我是采用DMA空闲中断来接收不定长的数据长度,仅设置了DMA串口接收,没有DMA发送设置。#include "usart.h"#include "gd32f450i_eval.h"#include "dataprocess_app.h"#include "stdio.h"#include "string.h" /* * 结构体实例初始化 *///T_COMOptr COM0 ={// .isReFinish = FALSE,// .renum
2021-11-04 18:39:38 1682
原创 兆易创新GD32F450控制器(2)--- ADC采样
基本信息:使用 * PC1 进行传感器的采样main函数进行初始化:Adc_Init(); //初始化内部ADCADC的初始化内容:#include "adc.h"#include "delay.h"#include "gd32f4xx_adc.h"#include "gd32f4xx_rcu.h"#include "gd32f4xx_gpio.h" /* * */uint32_t adc_value[2];...
2021-11-04 18:36:35 1964
原创 兆易创新GD32F450控制器(1)--- E2PROM读写
首先,写一下IIC驱动,通用的写法GPIO模拟#include "iic.h"#include "delay.h"#include "gd32f4xx.h"#include "gd32f4xx_gpio.h"#include "gd32f4xx_rcu.h"/** 名称: IIC5_Init* 功能: IIC5初始化* 参数: 无* 返回: 无* E2PROM存储:* PB14 -> SCL* PD9 -> SDA*/vo...
2021-11-04 18:28:18 724
转载 同步串口和异步串口的区别及使用情况
同步串口和异步串口的区别及使用情况_seashine_yan的博客-CSDN博客_同步串口和异步串口在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式。 1、异步串行方式的特点 所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点可以概括为: ①以字符为单位传送信息。 ②相邻两字符间的间隔是任意长。 ③因为一个字符中
2021-11-04 18:15:32 7449
原创 关于ADC的INL和DNL
1、理论上说,模数器件相邻两个数据之间,模拟量的差值都是一样的。就好比疏密均匀的尺子。但实际上,相邻两刻度之间的间距不可能都是相等的。所以,ADC相邻两刻度之间最大的差异就叫微分非线性DNL,也称为差分非线性。2、积分非线性表示了ADC器件在所有的数值点上对应的模拟值和真实值之间误差最大的那一点的误差值,也就是输出数值偏离线性最大的距离。单位是LSB。...
2021-02-04 08:50:10 2231
原创 高速模数转换器(ADC)的INL/DNL测量
摘要 :尽管积分非线性和微分非线性不是高速、高动态性能数据转换器最重要的参数,但在高分辨率成像应用中却具有重要意义。本文简要回顾了这两个参数的定义,并给出了两种不同但常用的测量高速模数转换器(ADC)的INL/DNL的方法。近期,许多厂商推出了具有出色的静态和动态特性的高性能模数转换器(ADC)。你或许会问,“他们是如何测量这些性能的,采用什么设备?”。下面的讨论将聚焦于有关ADC两个重要的精度参数的测量技术:积分非线性(INL)和微分非线性(DNL)。尽管INL和DNL对于应用在通信和高速数..
2021-02-03 14:30:13 3895
原创 STM32串口空闲中断DMA的实现
//**********************************************************//结构体实例初始化//**********************************************************T_COMOptr COM1 ={ .isReFinish = FALSE, .renum = 0, .ComInit = uart1_init, .Send.
2021-01-27 17:30:52 442
原创 C语言的结构体
C 结构体C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:Title Author Subject Book ID定义结构为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:struct tag { member-list member-
2020-06-13 11:07:11 151
原创 空间矢量脉宽调制技术的学习(一)
本文内容稍长。在交流电机控制领域,三相电机的性能主要通过电压和电磁转矩方程来描述,然而电磁转矩方程是转子速度的函数。除非转子停止不动,否则三相电机的电磁转矩将会随时间不i安华而变化。此外,待机电源的三个相位产生一个合磁场,并以一定的频率旋转。但由于三相电源的各相位所产生的磁场并不是相互正交。,这使得分析起来相当麻烦,所以人们那就将三相系统变换到能产生相同磁场效果的两相系统中,即坐标不变。控...
2019-10-23 11:47:22 3407
原创 RDA1846的驱动程序和频率设定
关于RDA1846,RDA1846是一种用于V/U段的调频收发机芯片,与AT1846S兼容,可互换使用。支持DTMF和亚音等功能。可用于2米,1.25米或0.7米的业余频段。The RDA1846 is a highly integrated single-chiptransceiver for Walkie Talkie applications. It totally reali...
2019-10-23 09:08:43 5951 1
原创 DSP处理器下的UCOS ii的实战应用(三)
DSP处理器下的UCOS ii的实战应用(三) RS485通信虽然使用RS485同样是用串口通信,但为了满足完全适用场景,所以也单独拿出来介绍一下,以增加实际应用的方便性。...
2019-10-22 17:50:25 445
原创 LWIP之lwip_read函数
首先,程序如下:intlwip_read(int s, void *mem, size_t len){ return lwip_recvfrom(s, mem, len, 0, NULL, NULL);}其次,调用的是:lwip_recvfromintlwip_recvfrom(int s, void *mem, size_t len, int flags, ...
2019-10-22 17:30:45 2583
原创 基于TI的DRV8305的FOC控制的技术积累
TI的官方对于DRV8305电机驱动的综合例程,理解这个例程是学习这个FOC的最佳的途径多余的话不说,理解程序如下,本程序是采用 TMS320F2807,:/**********************************************************************************///版权声明/************************...
2019-10-22 17:26:10 5450
原创 LAUNCHXL-F28379D的综合例程
TI的官方开发板 TMS320F28379D开发板的预装综合例程,理解这个例程是学习这个TMS320F28379D芯片的最佳的途径多余的话不说,理解程序如下://###########################################################################/************************************...
2019-08-01 11:09:38 4821 2
原创 LWIP同时实现服务器和客户端的程序-STM32的UCOSII下实现
BY 冰河马Icehippo by glassine 首先,省略其次,看程序吧select服务器:/*by glassine */#include <string.h>#include "chargen.h"#include "tcpecho_multi.h"#include "malloc.h"#include "ssprotocol.h...
2019-07-31 15:06:44 1825
原创 DSP处理器CAN应用程序的实现TMS320F28335
一、首先科普一下DSP的CAN接口增强控制器局域网络 (eCAN) 模块在 C28x™ DSP 内执行,此模块是一个完整的 CAN 控制器并且与 CAN 2.0B 标准(有效)兼容。 在电噪声环境下,它使用确定的协议与其它控制器进行串行通信。 借助于 32 个 完全可配置的邮箱和时间戳功能,eCAN 模块提供一个多用途且耐用的串行通信接口。二、CAN的一些特性,有助于理解CAN如何...
2019-07-31 14:59:46 4670
原创 linux下的网络编程实现TCP通信
首先,测试环境为linux虚拟机和我的开发板ARM7开发板,首先是服务器程序:#include<stdio.h>#include<stdlib.h>#include<errno.h>#include <string.h>#include <sys/types.h>#include <netinet/in.h>...
2019-07-31 13:14:08 415
原创 每4个byte合并成1个byte
程序如下,为原创程序://每4个byte合并成1个bytevoid Byte4byte(u8 *p,u16 num,u8* pvalue){ u16 i=0; u8 j=0; for(i=0;i<num;i++) { if(i!=0&&i%4==0) { j++; } if(p[i]==1) { pvalue[j]|=1<&l...
2018-07-04 18:30:01 1601 1
原创 0101 0101 进行数据压缩的算法
将2比特数据压缩为1比特数据:方法比较傻,但是是原创://每2个byte合并成1个bytevoid Byte2byte(u8 *p,u16 num,u8* pvalue){ u8 i,j,k,s; u8 a[300]; u8 b[300]; u8 c[300]; u8 d[300]; u8 e[300]; ///////////////////////////// u8 f[...
2018-07-04 18:27:49 393
原创 LWIP之lwip_send函数
代码如下:intlwip_send(int s, const void *data, size_t size, int flags){ struct lwip_sock *sock; err_t err; u8_t write_flags; size_t written; LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_send(%d, data=%p...
2018-07-04 18:09:41 8330 1
原创 LWIP之lwip_select函数
代码如下:/** * Processing exceptset is not yet implemented. */intlwip_select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, struct timeval *timeout){ u32_t waitres =...
2018-07-04 14:33:37 8420 2
原创 LWIP之lwip_accept
代码如下:/* Below this, the well-known socket functions are implemented. * Use google.com or opengroup.org to get a good description :-) * * Exceptions are documented! */intlwip_accept(int s, struc...
2018-07-04 14:10:58 1893
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人