- 博客(30)
- 资源 (17)
- 收藏
- 关注
原创 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 511
原创 关于IAR编译mpu_armv7.h出错的处理
关于IAR编译mpu_armv7.h出错的处理总结前人的经验做如下修改即可#ifndef __RESTRICT #define __RESTRICT restrict//20210205修改此处 //#define __RESTRICT __restrict#endif
2021-02-05 11:35:24 995 1
原创 剔除毛刺程序和滑动滤波程序
/**************************************************************** 剔除毛刺滤波处理程序*****************************************************************/void BurrFilter(BURR_FILTER_STRUCT * filter){ int m_Deta; m_Deta = abs((filter->Input) - (f...
2020-07-06 14:04:44 1661
原创 PID函数转录自变频器
/****************************************************************函数说明:PID函数(暂时不考虑D增益的作用)输入偏差为int型变量输出结果为long型变量。右移16位得到需要的结果比例增益在pid内部倍左移 4位****************************************************************/void PID(PID_STRUCT * pid){ long m_Max,m...
2020-07-06 14:03:48 626
原创 反正切函数摘录自变频器
/****************************************************************函数说明:反正切函数,该函数输入x,y,求得的反正切角度以及4象限的角度****************************************************************/int atan(int x, int y){ int result; long m_Input; if(x == 0) { ...
2020-07-06 14:01:50 224
原创 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 1104
原创 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 1216
原创 只用一个定时中断IO口模拟全双工串口,废话不多直接上代码中断调用收发程序 中断500us执行一次,好用点个赞
#define DATA_OUT RB1#define DATA_IN RB2//发码位数uchar SendBitNum = 0;//每位码时间uchar SendBitDly = 0;//发码标志位寄存器uchar SendFlag = 0;//发码数据寄存器//uint SendData = 0;bit SendEn =0;bit D0=0;bit DO=0;bit SendByteOK = 0;uint SendValue = 0;//uchar SendDly=0;.
2020-06-18 16:02:12 363
原创 串口通信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 952
原创 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 731
原创 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 185
原创 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 186
原创 触摸按键处理
;**********************************************;触摸按键扫描范例程序;**********************************************;程序出口:;KEYF对应8个触摸按键;KEYF,0-KEY1,KEYF~KEY2.......KEYF,7~KEY8;KEYF,0=1表示KEY1按下。;KEYF,1=1表示...
2020-01-18 15:03:03 1179
原创 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 1468 2
原创 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 1215
原创 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 1501
原创 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 865
原创 STM32 DSP库定点FFT变换追踪源代码及MATLAB分析
q15_t testInput[64]; q15_t testOutput[32];q15_t ADC_In[32]{100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400,100,200,300,400};void F...
2018-09-06 10:44:58 3348
转载 如何获取STM32 MCU的唯一ID
前段时间由于应用需要对产品授权进行限制,所以研究了一下有关STM32 MCU的唯一ID的资料,并最终利用它实现了我们的目标。1、基本描述在STM32的全系列MCU中均有一个96位的唯一设备标识符。在ST的相关资料中,对其功能的描述有3各方面:用作序列号(例如 USB 字符串序列号或其它终端应用程序) 在对内部 Flash 进行编程前将唯一 ID 与软件加密原语和协议结合使用时用作安全...
2018-08-06 15:26:14 617
原创 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 2417
原创 关于STM32 SPI外设太鸡肋,I读TM1628 时查询发送方式好折磨
本人使用STM32F334读写TM1628,也参考了网上一大堆的例子,查询发送数据到TM1628,发现大部分网上的例子都是用的是TXE 标志位 SPI_I2S_FLAG_TXE,要注意此标志位在手册上图片显示的是只要FIFO的数据移动到发发送缓冲器里面之后就会置位所以TXE的置位并不代表所有传输完成只代表可以接着发送数据,而是等到BSY置位后才表明发送结束,对于判断发送单个字节则需要结合BSY来...
2018-07-27 15:09:37 2022
原创 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 790
转载 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 2301
原创 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 5321
转载 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 457
LQFP100翻盖.pdf
2020-06-13
PFD-2000.rar
2019-12-31
C2Prog_v1.7
2015-11-17
C2Prog_V1.6
2015-11-17
C2Prog_V1.5
2015-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人