IQsqrt 和IQmpy 区别 在CCS5中
28069M和28069F
1.请问28069M和28069F区别?
2.28069M是否已经包含28069F的功能?
28069 实现DA功能
我用的是28069 想实现DA功能,大家有可参考的方案没?谢谢!!!!
关于F28335工程改为F28379工程的问题
[SOS] 28377D FLASH API 使用问题
我在调用Fapi_issueProgrammingCommand() 对地址0x831C6 进行编程时,由于地址是C6开始,所以我的编程字节数是:2个16Bits,但是感觉没能编进去,而且奇怪的是该API 也没有报错;
我知道手册上有说最多只能128bits,且地址要求128bits 对齐,
按理来说按照我这个设置,编程完成后恰好是对齐到128bits的末尾,但为什么Flash 并没有被刷写呢?
扩展的可配置逻辑块
在F2838x的新闻稿中提到“扩展的可配置逻辑块使设计人员能够定制外围设备,并消除或减少对现场可编程门阵列的需求”
请问“可配置逻辑块”的相关文档在哪里能找到
28035 比较器输出结果是否具有锁存功能
请问28035比较器输出结果能像28004x系列那样,对其进行锁存,直到进行软件复位才清楚比较结果吗?
How to make SCI always send and receive?
I want to keep watching rdata's changes. Hope to it can always receive rdata.
This is my code:
#include "DSP28x_Project.h"
#include <stdio.h>
void scia_echoback_init(void);
void scia_fifo_init(void);
void scia_xmit(void);
int i,B;
char sdata[8]={0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x84, 0x0A};
char rdata[7];
int main(void)
{
InitSysCtrl();
InitSciaGpio();
InitEPwm1Gpio();
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
EALLOW;
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0;
EDIS;
EALLOW;
SysCtrlRegs.PCLKCR0.bit.SCIAENCLK = 1;
EDIS;
EALLOW;
SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;
EDIS;
for(i=0; i< 100; i++)
{ DELAY_US(10000L);
scia_fifo_init(); // Initialize the SCI FIFO
scia_echoback_init(); // Initialize SCI for echoback
scia_xmit();
DELAY_US(10000L);
while(SciaRegs.SCIFFRX.bit.RXFFST !=1) { } // wait for XRDY =1 for empty state
DELAY_US(10000L);
for(i=0; i< 7; i++)
{
rdata[i] = SciaRegs.SCIRXBUF.all;
}
i=0;
}
}
void scia_echoback_init()
{
SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback
// No parity,8 char bits,
// async mode, idle-line protocol
SciaRegs.SCICTL1.all =0x0003; // enable TX, RX, internal SCICLK,
// Disable RX ERR, SLEEP, TXWAKE
SciaRegs.SCICTL2.all =0x0003;
SciaRegs.SCICTL2.bit.TXINTENA =0;
SciaRegs.SCICTL2.bit.RXBKINTENA =0;
SciaRegs.SCIHBAUD =0x0001; // 9600 baud @LSPCLK = 37.5MHz.
SciaRegs.SCILBAUD =0x00E7;
SciaRegs.SCICTL1.all =0x0023; // Relinquish SCI from Reset
}
// Transmit a character from the SCI
void scia_xmit()
{
while (SciaRegs.SCIFFTX.bit.TXFFST != 0) {}
for(i=0; i< 8; i++)
{
SciaRegs.SCITXBUF=sdata[i];
}
}
// Initialize the SCI FIFO
void scia_fifo_init()
{
SciaRegs.SCIFFTX.all=0xE040;
SciaRegs.SCIFFRX.all=0x204f;
SciaRegs.SCIFFCT.all=0x0;
}
TMS320F28027看门狗溢出时间如何设置?在样例程序中如何实现复位?
TMS320F28027看门狗溢出时间如何设置?在样例程序中如何实现复位?
//#############################################################################
//
// File: f2802x_examples_ccsv4/watchdog/Example_F2802xWatchdog.c
//
// Title: F2802x Watchdog interrupt test program.
//
// Group: C2000
// Target Device: TMS320F2802x
//
//! \addtogroup example_list
//! <h1>Watchdog Interrupt</h1>
//!
//! This program exercises the watchdog.
//!
//! First the watchdog is connected to the WAKEINT interrupt of the
//! PIE block. The code is then put into an infinite loop.
//!
//! The user can select to feed the watchdog key register or not
//! by commenting one line of code in the infinite loop.
//!
//! If the watchdog key register is fed by the WDOG_clearCounter function
//! then the WAKEINT interrupt is not taken. If the key register
//! is not fed by the WDOG_clearCounter function then WAKEINT will be taken.
//!
//! Watch Variables:
//! - LoopCount for the number of times through the infinite loop
//! - WakeCount for the number of times through WAKEINT
//
// (C) Copyright 2012, Texas Instruments, Inc.
//#############################################################################
// $TI Release: f2802x Support Library v210 $
// $Release Date: Mon Sep 17 09:13:31 CDT 2012 $
//#############################################################################
#include "DSP28x_Project.h" // Device Headerfile and Examples Include File
#include "f2802x_common/include/clk.h"
#include "f2802x_common/include/flash.h"
#include "f2802x_common/include/pie.h"
#include "f2802x_common/include/pll.h"
#include "f2802x_common/include/wdog.h"
// Prototype statements for functions found within this file.
interrupt void wakeint_isr(void);
// Global variables for this example
uint32_t WakeCount;
uint32_t LoopCount;
CLK_Handle myClk;
FLASH_Handle myFlash;
PIE_Handle myPie;
void main(void)
{
CPU_Handle myCpu;
PLL_Handle myPll;
WDOG_Handle myWDog;
// Initialize all the handles needed for this application
myClk = CLK_init((void *)CLK_BASE_ADDR, sizeof(CLK_Obj));
myCpu = CPU_init((void *)NULL, sizeof(CPU_Obj));
myFlash = FLASH_init((void *)FLASH_BASE_ADDR, sizeof(FLASH_Obj));
myPie = PIE_init((void *)PIE_BASE_ADDR, sizeof(PIE_Obj));
myPll = PLL_init((void *)PLL_BASE_ADDR, sizeof(PLL_Obj));
myWDog = WDOG_init((void *)WDOG_BASE_ADDR, sizeof(WDOG_Obj));
// Perform basic system initialization
WDOG_disable(myWDog);
CLK_enableAdcClock(myClk);
(*Device_cal)();
//Select the internal oscillator 1 as the clock source
CLK_setOscSrc(myClk, CLK_OscSrc_Internal);
// Setup the PLL for x12 /2 which will yield 60Mhz = 10Mhz * 12 / 2
PLL_setup(myPll, PLL_Multiplier_12, PLL_DivideSelect_ClkIn_by_2);
// Disable the PIE and all interrupts
PIE_disable(myPie);
PIE_disableAllInts(myPie);
CPU_disableGlobalInts(myCpu);
CPU_clearIntFlags(myCpu);
// If running from flash copy RAM only functions to RAM
#ifdef _FLASH
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
#endif
// Setup a debug vector table and enable the PIE
PIE_setDebugIntVectorTable(myPie);
PIE_enable(myPie);
// Register interrupt handlers in the PIE vector table
PIE_registerPieIntHandler(myPie, PIE_GroupNumber_1, PIE_SubGroupNumber_8, (intVec_t)&wakeint_isr);
// Clear the counters
WakeCount = 0; // Count interrupts
LoopCount = 0; // Count times through idle loop
WDOG_enableInt(myWDog);
// Enable WAKEINT in the PIE: Group 1 interrupt 8
// Enable INT1 which is connected to WAKEINT
PIE_enableInt(myPie, PIE_GroupNumber_1, PIE_InterruptSource_WAKE);
CPU_enableInt(myCpu, CPU_IntNumber_1);
CPU_enableGlobalInts(myCpu);
// Reset the watchdog counter
WDOG_clearCounter(myWDog);
// Enable the watchdog
WDOG_enable(myWDog);
for(;;) {
LoopCount++;
// Uncomment WDOG_clearCounter to just loop here
// Comment WDOG_clearCounter to take the WAKEINT instead
WDOG_clearCounter(myWDog);
}
}
interrupt void wakeint_isr(void)
{
WakeCount++;
// Acknowledge this interrupt to get more from group 1
PIE_clearInt(myPie, PIE_GroupNumber_1);
}
//===========================================================================
// No more.
//===========================================================================
XDS110仿真器连接不上,提示锁死,如何解锁
一直用XDS110给TMS320F2806核心板烧写程序,因其他原因导致核心板连续掉电多次后,出现XDS110烧不进程序的问题。错误提示如下:
Error connecting to the target:
(Error -1015 @ 0x0)
Device is not responding to the request. Device may be locked, or the debug probe connection may be unreliable. Unlock the device if possible (e.g. use wait in reset mode, and power-cycle the board). If error persists, confirm configuration and/or try more reliable JTAG settings (e.g. lower TCLK).
(Emulation package 8.0.903.4)
提示好像XDS110烧录器被锁死了,请问怎么解锁呢。
另外,换别人在用的XDS110可以正常烧写,可以排除程序和ccs8.1配置的问题。
2812的PWM引脚本来是低电平,断电的时候有200ms的高电平出来
怎么设置可以在上电和掉电过程配置PWM引脚为低电平或者高阻态
低版本的编译器使用28379的CAN问题
关于HVPM28335sensorless中PWM占空比计算的问题
我想问一下关于占空比计算这一块儿,是如何理解的,为什么要加v.HalfPerMax?还有就是CMPA的值小于0或者超出TBPRD什么操作?
(*ePWM[ch1]).CMPA.half.CMPA = _IQmpy(v.HalfPerMax,v.MfuncC1)+ v.HalfPerMax; \
(*ePWM[ch2]).CMPA.half.CMPA = _IQmpy(v.HalfPerMax,v.MfuncC2)+ v.HalfPerMax; \
(*ePWM[ch3]).CMPA.half.CMPA = _IQmpy(v.HalfPerMax,v.MfuncC3)+ v.HalfPerMax; \
28377D中,如何通过CPU2访问EMIF1,目前数据无法读到,但是CPU1可以实现,望指点,万分感谢!
基完成了把gpio 切到cpu2的先关设置,但是不知道还有没有别的先关设置,请指点。
在cpu1里设置如下, setup_emif1_pinmux_async_16bit(GPIO_MUX_CPU2); //将数据地址总线io 切到cpu2,别的不知道还要设置什么?
ccs编译的时候出现错误。
**** Build of configuration Debug for project VI_seg3 ****
"C:\\ti\\ccs910\\ccs\\utils\\bin\\gmake" -k -j 4 all -O
Building file: "../main.c"
Invoking: C2000 Compiler
"C:/ti/ccs910/ccs/tools/compiler/ti-cgt-c2000_18.12.2.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="G:/VI_crm_boost_seg_3" --include_path="G:/VI_dsp/lab13_ECAP_capture/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi --preproc_with_compile --preproc_dependency="main.d_raw" "../main.c"
>> Compilation failure
subdir_rules.mk:9: recipe for target 'main.obj' failed
"G:\VI_dsp\lab13_ECAP_capture\include\F2837xS_device.h", line 96: fatal error #1965: cannot open source file "assert.h"
1 catastrophic error detected in the compilation of "../main.c".
Compilation terminated.
gmake: *** [main.obj] Error 1
gmake: Target 'all' not remade because of errors.
**** Build Finished ****
CCS变量观察器问题
28377d的程序可以在外部flash上运行吗
由于需求功能的增加,内部flash空间严重不足,目前还无法进行改版换芯片,所以想问一下,是否28377d是否可以把程序存储到外部flash并且在上面运行?
Uq的实际值,是多少伏
Description Resource Path Location Type --cdebug_asm_data is no longer supported --cdebug_asm_data is no longer supported DSP2803x_Adc.c /Example_2803xAdcSoc C/C++ Problem
用CCS9导入control SUITE中“C:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5”例程Example_2803xAdcSoc,编译后出现以下错误如下图所示:
请问怎么解决,对照以下文件路径没有问题,求解答