==57)

{

Scia_VarRx=9;

}

kb=Scia_VarRx[0]*1000;

hd=Scia_VarRx[1]*100;

de=Scia_VarRx[2]*10;

un=Scia_VarRx[3];

d1=Scia_VarRx[4];

d2=Scia_VarRx[5];

D=kb+hd+de+un;

pwm_duty=0;

i++;

if(i==6)

{

i=0;

}

EALLOW;

GpioDataRegs.GPADAT.bit.GPIOA0=d1;        //通过串口助手发送的数据来改变PWM1引脚的高低

GpioDataRegs.GPADAT.bit.GPIOA1=d2;        //通过串口助手发送的数据来改变PWM1引脚的高低

EDIS;

PieCtrl.PIEACK.bit.ACK9=1;

EINT;

}

interrupt void CAPINT3_ISR(void)

{

capint3++;

if(capint3==1)

{

EvaRegs.T2CON.bit.TENABLE=1;

cap1=EvaRegs.T2CNT;

T1=t2pint;

}

if(capint3==2)

{

cap2=EvaRegs.T2CNT;

T2=t2pint;

temp1=cap2+(T2-T1)*65535-cap1;

freq=300000;

n1=freq/(float)temp1;

for(j=0;j<200;j++)

{

n[j]=n1;

}

t2pint=0;

T1=T2=0;

capint3=0;

EvaRegs.T2CNT=0;

EvaRegs.T2CON.bit.TENABLE=0;

}

EvaRegs.EVAIFRC.bit.CAP3INT=1;

EvaRegs.EVAIMRC.bit.CAP3INT=1;

PieCtrl.PIEACK.bit.ACK3=1;

}

interrupt void T2PINT_ISR(void)

{

t2pint++;

EvaRegs.EVAIFRB.bit.T2PINT=1;

EvaRegs.EVAIMRB.bit.T2PINT=1;

PieCtrl.PIEACK.bit.ACK3=1;

EINT;

}

interrupt void T1PINT_ISR(void)    // 通用定时器T1的周期中断

{

t1pint++;

if(t1pint==100)       //达到5ms开始进行PID运算

{

Ref=D*10/1500;

Fdb=n1;

Err=Ref-Fdb;

a0=Kp*(1+T/Ki+Kd/T);

a1=Kp*(1+2*Kd/T);

a2=Kp*Kd/T;

Out=Out_1+a0*Err-a1*Err_1+a2*Err_2;

pwm+=Out;   //增量

duty=D+(int)pwm;

if(duty>1500)

{

t1cmpr=1500;

}

else

{

t1cmpr=duty;

}

EvaRegs.T1CMPR=t1cmpr;

Out_1=Out;

Err_2=Err_1;

Err_1=Err;

}

EvaRegs.EVAIFRA.bit.T1PINT=1;

EvaRegs.EVAIMRA.bit.T1PINT=1;

PieCtrl.PIEACK.bit.ACK2=1;

EINT;

}

上面是我自己编写的程序,测速采用的T法测速,请你帮忙看一下,谢谢

向串口助手发送数据c语言程序,利用DSP2812编写直流电机PID调速程序(C语言)相关推荐

  1. USART向串口助手发送数据(DMA方式)

    目录 一.前言 二.什么是DMA? 1.DMA简介 2.DMA主要特性 3.DMA框图 三.STM32CubeMX工程创建 1.题目要求 2.CubeMX工程配置 四.Keil工程的创建 五.效果展示 ...

  2. 串口助手发送数据到单片机并显示在液晶上

    实验平台:51开发板 实验人:阿辉 实验现象:串口助手发送一串数据,实现LED状态翻转 数据: eb 01 30 00 00 39 ed eb 02 30 00 00 39 ed 实验代码如下: #i ...

  3. pwmc语言调速程序_51单片机的直流电机PWM调速系统设计,正转反转,加减速,急停等,仿真和代码...

    设计思路 直流电机PWM控制系统的主要功能包括:实现对直流电机的加速.减速以及电机的正转.反转和急停,并且可以调整电机的转速,能够方便的实现电机的智能控制. 主体电路:即直流电机PWM控制模块.这部分 ...

  4. 串口通信(串口助手发送数据给单片机,单片机原封不动发给串口助手)

    话不多说直接上重点 串口内部结构 SM0和SM1为工作方式选择位 SM2 多机通信控制位,主要应用于方式2和方式3,SM2为1的时候可以利用RB8来控制是否 激活RI(当RB8=0时不激活RI,收到信 ...

  5. 当串口助手发送数据给单片机,单片机原封不动转发给串口助手显示

    #include <REGX52.H> typedef unsigned char u8; typedef unsigned int u16; void delay_10us(u16 us ...

  6. 用c++语言编写的小程序,利用C++编写一些有趣的小程序

    虽然说中学没有参加过信息学竞赛,但相对来说,我接触编程算是比较早的.和我同龄的人,若小学参加过计算机竞赛,大概还对PC-logo有点印象,这算是我对编程的最初体验,这里就不叙述.到了初中,便按着规定学 ...

  7. 普中单片机--串口通信(2)---通过串口助手发送数据点LED

    普中单片机–串口通信(2) 通过串口助手发送数据 点亮LED 软件部分 #include <reg52.h> #define jingzhen 12000000UL /*使用12.0M晶体 ...

  8. STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和串口只发送数据不能接收数据问题

    STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085的问题讨论:http://www.rt-thr ...

  9. 西门子200PLC做自由口通讯,向串口1发送数据

    西门子200PLC做自由口通讯,向串口1发送数据 一.PLC自由口协议初始化. 根据智能设备通信时使用的波特率.校验方式.起始位等参数,配置PLC自由口,即将上述参数用MOVB指令写入SMB30(PO ...

最新文章

  1. Java 内存查看与分析
  2. $.ajax居然触发popstate事件?
  3. 如何使用CREO来导入多个带坐标系参数的零件的装配图档
  4. ASP.NET Core 2.1 使用Docker运行
  5. ssh_exchange_identification: Connection closed by remote host解决方法
  6. bzoj 3513: [MUTC2013]idiots FFT
  7. L1-015. 跟奥巴马一起画方块-PAT团体程序设计天梯赛GPLT
  8. [Python] * 和 ** 的用法
  9. 极域电子教室卸载或安装软件后windows7无法启用触摸板、键盘
  10. 并行化:你的高并发大杀器
  11. 主动学习,半监督学习,直推式学习
  12. HTTP 和 HTTPS 有什么区别?
  13. Python 获取LOL所有英雄的传说
  14. 一加7pro电脑模式_一加7pro值不值得买?
  15. 午饭加喝酸奶可减轻电脑辐射
  16. pRRophetic 通过基因表达水平预测临床化疗反应的R包
  17. HTML基础知识点总结三
  18. 科技新品 | 索尼全画幅电影摄影机FX6;数字健康管理专业品牌Zepp智能手表;彩色视频电子纸显示器取得重大突破...
  19. FT60F011A包含1Krom+EEPROM+Flash方案
  20. android 保存图片(视频)到相册

热门文章

  1. 如何将网盘空间映射为本地磁盘,可以看看这些方案
  2. 基于STM32对于光敏电阻传感器的光控应用
  3. 亚马逊鲲鹏系统批量注册功能可以让你快速拥有大量亚马逊买家号
  4. Word行距怎么设置?基础设置,必会的4个方法!
  5. 2021-12-14 《聪明的投资者》学习笔记-11.普通投资者证券分析的一般方法--债券、普通股、资本化率、成长股、2步评估
  6. 互联网大脑架构分析之腾讯:至少已布局三大AI实验室
  7. linux找不到镜像文件,为什么启动u盘找不到镜像文件_u盘启动找不到映像文件的解决方法...
  8. USB启动U盘 计算机找不到,电脑开机快捷启动键找不到u盘怎么办
  9. 搞科研写论文必备,14个超实用的网站
  10. java环境搭建及概述