![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
水中的天空
缩地成寸
展开
-
CCS6.2 打开 failed to create java machine
eclinpseini-startupplugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar--launcher.libraryplugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.300.v20150602-1417-showsplashorg.eclipse.platform--launcher.XXMaxPermSize128m--launc...原创 2021-05-05 15:43:05 · 549 阅读 · 0 评论 -
剔除毛刺程序和滑动滤波程序
/**************************************************************** 剔除毛刺滤波处理程序*****************************************************************/void BurrFilter(BURR_FILTER_STRUCT * filter){ int m_Deta; m_Deta = abs((filter->Input) - (f...原创 2020-07-06 14:04:44 · 1754 阅读 · 0 评论 -
PID函数转录自变频器
/****************************************************************函数说明:PID函数(暂时不考虑D增益的作用)输入偏差为int型变量输出结果为long型变量。右移16位得到需要的结果比例增益在pid内部倍左移 4位****************************************************************/void PID(PID_STRUCT * pid){ long m_Max,m...原创 2020-07-06 14:03:48 · 672 阅读 · 0 评论 -
反正切函数摘录自变频器
/****************************************************************函数说明:反正切函数,该函数输入x,y,求得的反正切角度以及4象限的角度****************************************************************/int atan(int x, int y){ int result; long m_Input; if(x == 0) { ...原创 2020-07-06 14:01:50 · 236 阅读 · 0 评论 -
IIC通信软件模拟
/*//管脚定义#define I2C_SCL RB6#define I2C_SDA RB7volatile bit I2C_SCL_IO @((unsigned)&TRISB*8)+6; //IB口方向设置volatile bit I2C_SDA_IO @((unsigned)&TRISB*8)+7; //IB口方向设...原创 2020-07-03 17:06:18 · 1128 阅读 · 0 评论 -
STM32 SPI和TM1628通信
uint8_t TM1628_WritePro(void){ //SPI1->CR1 |= SPI_Direction_1Line_Tx ; SPI1->CR1 = 0xc3ff; while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); SetSTB; DelayXu(5); ClrSTB; DelayXu(2); SPI_SendData8(SPI1,0x00); while (SP...原创 2020-06-19 10:48:31 · 1303 阅读 · 0 评论 -
串口通信IO口模拟
#include "config.h"#define DATA_OUT RB0#define DATA_IN RB1//发码位数uchar SendBitNum = 0;//每位码时间uchar SendBitDly = 0;//发码标志位寄存器uchar SendFlag = 0;//发码数据寄存器uint SendData = 0;bit SendEn =0;bit D0=0;uchar SendWord(void){ //是否允许发送if(SendEn==0){...原创 2020-06-13 08:58:44 · 973 阅读 · 0 评论 -
SPI收发
//1秒调用1次uchar SlaveStatus = 0;//默认阶段分析//阶段1 度命令//阶段2读地址//阶段3读数据//阶段4返回数据uchar Index = 0;//指示数据标号的//uchar TxCnt = 0;//发送数据的下标uchar RxData[5]={0,0,0,0,0x00};uchar TxData[2]={0xaa,0x01};volatile bit RxOK=0;volatile bit TxOK=0;extern uchar MyKeyV原创 2020-06-06 09:28:04 · 750 阅读 · 0 评论 -
CRC16
uint crc_cal_value(uchar *data_value, uchar data_length){ uchar i; uint crc_value=0xffff; while(data_length--) { crc_value ^= *data_value++; for(i=0;i<8;i++) { if(crc_value&0x0001) c...原创 2020-06-06 09:14:20 · 196 阅读 · 0 评论 -
CRC8
//CRC8 算法uchar CRC8( uchar* pBuffer, uchar bufSize ){ uchar crc = 0; if ( bufSize <= 0 ) { return crc; } while( bufSize-- != 0 ) { for ( uint i = 0x80; i != 0; i /= 2 ) { if ( (crc & 0x80) != 0) { crc *...原创 2020-06-06 09:13:19 · 211 阅读 · 0 评论 -
STM32F334之EXTI中断老是进不去 EXTI2_TS_IRQn中断响应函数之粗心大意
//HRTIM影响外部中断的响应 EXTI_InitTypeDef EXTI_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE); //P...原创 2019-09-10 13:52:15 · 1528 阅读 · 2 评论 -
STM32外设SPI读写TM1628查询方式非模拟独家贡献
//写数码管uint8_t TM1628_WritePro(void){ if(1!=TM1628_State)return 0; SPI1->CR1 |= SPI_Direction_1Line_Tx ; TM1628_State = 0 ; while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET);...原创 2018-07-28 17:26:14 · 2504 阅读 · 0 评论 -
关于1ul 1l 1u 的理解也许有不对的
1u代表16位无符号1 0x0001原创 2015-11-03 22:04:09 · 2124 阅读 · 0 评论 -
ADC采样Q15归一化处理
首先 ADC采样结果为 AdcResult.ADCRESULT0 ADC为12位 结果默认Q12格式先转换为Q15格式则x= AdcResult.ADCRESULT0若再分极性的话 大于0x7FF(12位)为正,小于0x7FF为负x=(AdcResult.ADCRESULT0)^0x8000;若不分极性则x=(AdcResult.ADCRESULT0)转换成32位的全局IQ原创 2015-12-22 21:42:54 · 5536 阅读 · 0 评论 -
Q15
Q格式表示为:Qm.n,表示数据用m比特表示整数部分,n比特表示小数部分,共需要m+n+1位来表示这个数据,多余的一位用作符合位。假设小数点在n位的左边(从右向左数),从而确定小数的精度例如Q15表示小数部分有15位,一个short型数据,占2个字节,最高位是符号位,后面15位是小数位,就假设小数点在第15位左边,表示的范围是:-1<X<0.9999695 。浮点数据转化为Q15,转载 2015-12-22 22:10:24 · 2601 阅读 · 0 评论 -
IAR 编写程序的代码比单片机的flash大了会出现故障Error[e16] is too long for segment definition
Error[e16]: Segment NEAR_ID (size: 0x15 align: 0) is too long for segment definition. At least 0xb more bytes needed. The problem occurred while processing the segment placement command "-Z(CODE)TINY...原创 2018-05-12 10:00:45 · 836 阅读 · 0 评论 -
STM334的DAC比较器中断
/*//比较器4接低电压 比较器6接高电压 比较器4比比较器6早触发 EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; // 配置 NVIC 为优先级组 1 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); NVIC_InitSt...原创 2019-09-05 10:28:24 · 897 阅读 · 0 评论 -
STM32F334定时器TIM15触发ADC转换
/*//用定时器触发ADC转换void TIM15Config(void){ //(1)选择TIM15 Update事件作为触发源(计数器溢出) RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM15, ENABLE);//配置基础 TIM_DeInit(TIM15); TIM_TimeBaseInitTypeDef TIM_TimeBa...原创 2019-09-05 10:31:11 · 1577 阅读 · 0 评论 -
STM32F334的HRTIM之CPT1捕获
//if(SET == HRTIM_GetITStatus(HRTIM1, HRTIM_TIMERINDEX_TIMER_B, HRTIM_TIM_IT_CPT1)) //{ // HRTIM_ClearITPendingBit(HRTIM1, HRTIM_TIMERINDEX_TIMER_B, HRTIM_TIM_IT_CPT1);// //读取捕获数值1// UpP...原创 2019-09-05 10:34:30 · 1316 阅读 · 0 评论 -
IQtoQN
This Macro converts a 32-bit number in GLOBAL_Q format to 16-bit number in QN format.Declaration C int _IQtoQN(_iq A)C++ int IQtoQN(const iq &A)Input IQ number in GLOBAL_Q formatOutput Equival转载 2015-11-15 18:06:02 · 482 阅读 · 0 评论