
C
文章平均质量分 52
旅行者2018
时间从来不语,却解释着一切。
展开
-
PID的调参 小结
一般调节法:这种方法针对一般的 PID 控制系统所以称之为一般调节法;其中 Kp 是加快系统响应速度,提高系统的调节精度; Ki 用于消除稳态误差; Kd 改善系统的稳态性能。a. 在输出不振荡时,增大比例增益 P。b. 在输出不振荡时,减小积分时间常数 Ti。c. 在输出不振荡时,增大微分时间常数 Td。(它们三个任何谁过大都会造成系统的震荡。)一般步骤为:a. 确定比例增益 P :确定比例增益 P 时,首先去掉 PID 的积分项和微分项,一般是令 Ti=0、Td=0(具体见 PID原创 2021-07-02 11:22:18 · 7452 阅读 · 1 评论 -
PT100学习2,数模转变
掌握要点1.电路使用的是差分放大电路图如下:2.PT100流过电流不应超过1mA3.模拟量转化为pt100计算公式/********************************************************************************@fun pt100_R_GET@brief PT100 电阻获取@param adc ADC amplifi 运放放大倍数@retval 无@author 之风@data原创 2021-04-12 23:03:35 · 1229 阅读 · 0 评论 -
刚好最近做项目用到PT100,分享下PT100分度表的数组,测量温度范围:(-200℃~800℃)
const float Table_PT100[]={//℃ 0 1 2 3 4 5 &n转载 2021-04-12 21:18:04 · 700 阅读 · 0 评论 -
烧录程序提示 could not stop Cortex-M device! Please check the JTAG cable
解决方法:检查一下STM32复位管脚是不是0V,如果是0V的话并且你有上拉电阻,那么就断电后检查一下STM32的VCC和GND是否短路,我的是电阻和电容位置互换短路从而使RST无法拉高原创 2021-04-07 22:10:24 · 2859 阅读 · 0 评论 -
关于stm32g030c8t6使用过程钟踩过的坑
最近使用STM32G030来做项目,使用的过程发现有太多的坑了,折腾自己快要崩溃,主要问题还是初始化的过程中初始化失败,导致程序不运行。现在总结下遇到的问题:1.ADC使用多通道扫描模式用DMA传输数据,HAL_ADC_Start(&hadc1);这个开始必须要放在DMA初始化相关函数的后面。2.开启串口中断后导致程序异常不运行,最后把开启传偶中断函数放在main函数的最前面就可以正常运行3.程序是按顺序上之下运行,初始化时候要考虑好顺序关系。比如按下面的顺序进行初始化才可以正常的运行/原创 2021-03-19 12:05:00 · 8174 阅读 · 2 评论 -
强制转化规则继续研究
如果一个16位的正整形数,最高位为1,如果对它进行强制转化为8位有符号类型,则最高位会变成有符号位的符号位。举个例子uint16_t data=32765; 对应的二进制为 1000 0000 0000 0011如果对它进行强制转化为int8_t的有符号位 最后变成 1000 0011 结果为-3,由上可见,强制转化是考虑最高位的符号位的。uint16_t data1=32765; int8_t data2=(int8_t)data;printf("data2...原创 2020-12-11 22:16:57 · 253 阅读 · 0 评论 -
C语言关于有符号和无符号变量相互赋值的探讨
在我们写程序的过程中应该常常会用的数据类型的强制转化,下面我们来研究看看。研究1:有符号变量转化位无符号变量会怎么转换,下面是代码例子#include <stdio.h>int main (void){ signed char temp1=-10; unsigned char temp2=0; for(;;) { temp2=temp1; pri...原创 2020-09-19 01:05:10 · 8809 阅读 · 0 评论 -
关于SI4463使用的个人总结
总结 si4463发送延时很慢 需要等待160多毫秒,才产生发送完成中断,等待时间不够,数据发不出去原创 2020-09-13 22:13:16 · 1067 阅读 · 1 评论 -
关于小端模式的单片机取结构体的地址转成16位 32 位的总结
首先说明一下什么事小端模式,小端模式就是在单片机的内存地址中,低地址存储一个16位或者32位或者64位变量的最低八位,然后往上递增。比如在下面的例子中,定义一个结构体typedef struct { uint16_t man1_sta; /*人物1 状态 01 站立 23 摔倒*/ int16_t man1_voltage; /*人物1 电压 */ int16_t man1_temperature; /*人物1 温度 */ ...原创 2020-09-08 23:16:48 · 532 阅读 · 0 评论 -
C语言 三角函数用法
在C语言便准库中,要使用三角函数需要把度转变为弧度的形式,准换公式 deg/180*pi测试#include <stdio.h>#include <math.h>#define My_Pi 3.14159/********************************************************************************* @fun My_Sin* @brief sin求值* @param 无*...原创 2020-08-20 00:07:50 · 11585 阅读 · 1 评论 -
关于C语言有符号变量 32 16 8位转换
测试1 如图:结论1 系统会自动继承最高位的符号位,而不是抛弃。测试2如图:结论2系统会自动继承最高位的符号位,但是数据溢出回出错。原创 2020-08-19 23:44:23 · 1532 阅读 · 0 评论 -
函数指针和指针函数的区别
指针函数:顾名思义,它的本质是一个函数,不过它的返回值是一个指针。其声明的形式如下所示ret *func(args, ...);其中,func是一个函数,args是形参列表,ret *作为一个整体,是func函数的返回值,是一个指针的形式。下面举一个具体的实例来做说明:# include <stdio.h># include <stdlib.h>#include <windows.h>int sum;int* p = ∑/*..转载 2020-06-28 17:41:39 · 494 阅读 · 0 评论