资源简介
基于直流电机的 DSP 双闭环控制系统代码,使用过的一些代码资料,尽管有些编程相关的逻辑规则有些问题,但是作为参考与提升,这是有意义的!

代码片段和文件信息
/****************************************************************************
FILE: DSP28_CpuTimers.c
title: DSP28 CPU 32-bit Timers Initialization & Support Functions.
*****************************************************************************
Ver | dd mmm yyyy | Who | Description of changes
======|=============|========|===============================================
V0106S| 11 Oct 2011 | Z.H.C. |
****************************************************************************/
#include “DSP28_Device.h“
struct CPUTIMER_VARS CpuTimer0;
struct CPUTIMER_VARS CpuTimer1;
struct CPUTIMER_VARS CpuTimer2;
//---------------------------------------------------------------------------
// InitCpuTimers:
//---------------------------------------------------------------------------
// This function initializes all three CPU timers to a known state.
//
void InitCpuTimers(void)
{
// Initialize address pointers to respective timer registers:
CpuTimer0.RegsAddr = &CpuTimer0Regs;
CpuTimer1.RegsAddr = &CpuTimer1Regs;
CpuTimer2.RegsAddr = &CpuTimer2Regs;
// Initialize timer period to maximum:
CpuTimer0Regs.PRD.all = 0xFFFFFFFF;
CpuTimer1Regs.PRD.all = 0xFFFFFFFF;
CpuTimer2Regs.PRD.all = 0xFFFFFFFF;
// Initialize pre-scale counter to divide by 1 (SYSCLKOUT):
CpuTimer0Regs.TPR.all = 0;
CpuTimer0Regs.TPRH.all = 0;
// Make sure timers are stopped:
CpuTimer0Regs.TCR.bit.TSS = 1;
CpuTimer1Regs.TCR.bit.TSS = 1;
CpuTimer2Regs.TCR.bit.TSS = 1;
// Reload all counter registers with period values:
CpuTimer0Regs.TCR.bit.TRB = 1;
CpuTimer1Regs.TCR.bit.TRB = 1;
CpuTimer2Regs.TCR.bit.TRB = 1;
// Reset interrupt counters:
CpuTimer0.InterruptCount = 0;
CpuTimer1.InterruptCount = 0;
CpuTimer2.InterruptCount = 0;
}
//---------------------------------------------------------------------------
// ConfigCpuTimer:
//---------------------------------------------------------------------------
// This function initializes the selected timer to the period specified
// by the “Freq“ and “Period“ parameters. The “Freq“ is entered as “MHz“
// and the period in “uSeconds“. The timer is held in the stopped state
// after configuration.
//
void ConfigCpuTimer(struct CPUTIMER_VARS *Timer float Freq float Period)
{
Uint32 temp;
// Initialize timer period:
Timer->CPUFreqInMHz = Freq;
Timer->PeriodInUSec = Period;
temp = (long) (Freq * Period);
Timer->RegsAddr->PRD.all = temp;
// Set pre-scale counter to divide by 1 (SYSCLKOUT):
Timer->RegsAddr->TPR.all = 0;
Timer->RegsAddr->TPRH.all = 0;
// Initialize timer control register:
Timer->RegsAddr->TCR.bit.POL = 0; // 0 = Pulse Low
Timer->RegsAddr->TCR.bit.TOG = 0; // 0 = No Toggle POL bit defines action
Timer->RegsAddr->TCR.bit.TSS = 1; // 1 = Stop timer 0 = Start/Restart Timer
Timer->RegsAddr->TCR.bit.TRB =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-26 09:01 MDC_BDC_Demo\
文件 1663 2013-04-26 11:30 MDC_BDC_Demo\CodeStartBranch.asm
文件 6469 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Adc.h
文件 1664 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Adc_BDC.C
文件 3604 2013-04-26 11:30 MDC_BDC_Demo\DSP28_CpuTimers.c
文件 5211 2013-04-26 11:30 MDC_BDC_Demo\DSP28_CpuTimers.h
文件 24639 2013-04-26 11:30 MDC_BDC_Demo\DSP28_DefaultIsr.c
文件 4797 2013-04-26 11:30 MDC_BDC_Demo\DSP28_DefaultIsr.h
文件 2447 2013-04-26 11:30 MDC_BDC_Demo\DSP28_DevEmu.h
文件 4025 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Device.h
文件 955 2013-04-26 11:30 MDC_BDC_Demo\DSP28_ECan.c
文件 46740 2013-04-26 11:30 MDC_BDC_Demo\DSP28_ECan.h
文件 20967 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Ev.h
文件 2128 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Ev_BDC.C
文件 1425 2013-04-26 11:30 MDC_BDC_Demo\DSP28_GlobalPrototypes.h
文件 2796 2013-04-26 11:30 MDC_BDC_Demo\DSP28_GlobalVariableDefs.c
文件 5816 2013-09-23 10:23 MDC_BDC_Demo\DSP28_Gpio.c
文件 29551 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Gpio.h
文件 1714 2013-04-26 11:30 MDC_BDC_Demo\DSP28_InitPeripherals.c
文件 982 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Mcbsp.c
文件 34739 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Mcbsp.h
文件 1851 2013-04-26 11:30 MDC_BDC_Demo\DSP28_PieCtrl.c
文件 5972 2013-04-26 11:30 MDC_BDC_Demo\DSP28_PieCtrl.h
文件 5442 2013-04-26 11:30 MDC_BDC_Demo\DSP28_PieVect.c
文件 6474 2013-04-26 11:30 MDC_BDC_Demo\DSP28_PieVect.h
文件 3882 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Sci.c
文件 8341 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Sci.h
文件 1793 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Spi.c
文件 6237 2013-04-26 11:30 MDC_BDC_Demo\DSP28_Spi.h
文件 2545 2013-04-26 11:30 MDC_BDC_Demo\DSP28_SysCtrl.c
文件 9979 2013-04-26 11:30 MDC_BDC_Demo\DSP28_SysCtrl.h
............此处省略40个文件信息
- 上一篇:1602LCD显示仿手机键盘按键字符
- 下一篇:ASIFT算法实现
相关资源
- bp神经网络源代码,可直接运行
- 随机森林R语言代码
- 计算机图形学 边填充算法实现代码
- 直流无刷电机方波驱动 stm32 例程代码
- 仿知乎界面小程序源代码
- 贪吃蛇源代码.fla
- CCS5.05.1可使用的license
- 周立功开发板ProASIC3实验-syn_FIFO代码
- IMX385驱动代码.zip
- dotnet 写字板 实验 源代码 不好请要不
- 图像二维小波变换的实现源代码
- 八三编码器设计 VHDL代码 简单,包附
- linux应用层的华容道游戏源代码
- 交通咨询模拟系统完整代码
- http请求状态代码
- 数值分析所有实验代码
- 网上拍卖系统完整源代码
- 音乐代码转换软件 单片机编程时用
- CSMA/CD等动画演示加源代码
- silicon lab公司的收音IC SI47XX全套开发工
- 用51单片机实现G代码翻译
- 合同管理系统的源代码(附数据库)
- dsp2812上128点FFTc程序以及其CMD文件
- 用VC 编写的仿QQ聊天室程序源代码
- web班级网站设计代码
- DSP28335程序片内FLASH搬运至RAM运行的
- 38k单片机红外发送代码、keil
- STM32F103 串口程序(完整版)
- 网络唤醒代码
- VPC3_DPV1源代码,Profibus
评论
共有 条评论