微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > Elecfans高手问答Q&A——DSP问答

Elecfans高手问答Q&A——DSP问答

时间:10-02 整理:3721RD 点击:



本帖非活动贴,我们将活动中的Q&A做了整合,方便大家共同学习。




Elecfans社区问答已经在大家的积极参与下全面展开,我们会在每一期活动结束后,将帖子中的精华问答整合于此,方便大家翻阅,共同学习,共同进步。




************************为了给大家一个方便的阅读环境,请不要在本帖回复,谢谢配合***********************


高手问答第7期——DSP问答

活动时间:2014.8.11-2014.8.18

活动链接:http://bbs.elecfans.com/jishu_445709_1_1.html


Q:@michael_xing 请问前辈DSP TMS320F28232 是不是浮点型芯片?一个在28232上可以运行的程序,换成28335后程序不改动上是不是也可以跑?
A:我觉得这个问题,是这样子:
(1)首先,为什么想换片子?从flash容量,还是从代码编写上?从不同的角度出发,更换的芯片是不同的。
(2)其次,如果想获取更多的对芯片的了解,建议你记下官网www.ti.com,在搜索栏中,输入你要的芯片名称,就可以看到详细记录,这个比datasheet更直观,而且一般会有芯片的对比和升级路线,对于你更换芯片非常有帮助。
在我使用的代码里,tms320f28232和tms320f28334(5),代码架构类似,因此,只要注意管脚对应上,代码几乎不用更改。而且给的例程多数都是模块的使用,没有涉及浮点运算。
很抱歉,tms320f2000系列的芯片,主要用于控制,做算法的比较少。如果做简单的算法,即使tms320f28334(5)有FPU单元(浮点),我也会使用定点来做运算。tms320f28232是定点的内核,没有FPU单元。
如果这样还不够,可以再回复。抱歉,回复有点晚。
Q:烧写flash时提示如下错误,是锁死了么?请前辈给分析下什么原因引起的,三天锁三个,
C28xx: Flash Programmer: Error erasing Flash memory.
C28xx: Flash operation timed out waiting for the algorithm to complete. Operation cancelled.
C28xx: Trouble Writing Memory Block at 0x3f64fa on Page 0 of Length 0x12
Cannot write to target
在MAP中显示 CSM_PWL               003f7ff8   00000008  00000000  00000008  RWIX,密码位没被占用
A:先说一句非常悲观的话题:如果芯片锁死,意味着芯片不能用了,必须要更换。但是,一般上,烧写flash,如果没有进行特别的操作,不会锁死的。
特别的操作,比如烧写过程中,断电。但是,这样子,也不是完全就会出问题。再比如,我想知道你选用的仿真器是谁家的,使用的ccs是哪个版本?
所以说,你三天锁三个,有点不正常,我担心的是环境,不是你的操作手法。

Q:@michael_xing 小弟完全未接触过音频编解码,最近因为需要了解了一下音频编解码的芯片,其中均集成了ADC和DAC,想请教一下行工,音频编解码与ADC和DAC是什么关系?(我理解是:ADC是编码的基础,DAC是解码的基础,解码其实就是将数字量经DAC后生成了模拟量在经运放等恢复音频,不知对否?)
A:你理解的基本上是对的。你所想了解的系统,就是通过ADC将音频模拟信号采样,进入dsp进行数字处理,处理完之后,通过DAC将数字信号再转换成音频模拟信号输出。如果你很想做音频,我给你建议一个系统,不过价格可能有点高。之前我也很想做,后来放弃了,时间太有限了。我可以把我羡慕已久的系统介绍给你。不是打广告,因为我有朋友已经使用过了。就学习而言,可以让你完全学会;就开发而言,也可以开发一些新产品。

C5535eZdsp USB 记忆棒开发套件          http://www.ti.com.cn/tool/cn/tmdx5535ezdsp



Q:请问下,DSP2812怎么实现3路的模拟信号输出,而且该3路模拟信号是可控,可调的。如果用SPI,怎么实现3路输出?或者其他用PWM波然后再经过什么可以实现这样的功能?先谢谢前辈的指导了。
A:哈哈,首先抱歉,你的问题,我有点没理解。
那我先来谈谈我的看法,理解不到之处,请你继续回复。
(1)SPI是接口,对于tms320f2812来说,只有一个SPI接口,那么如果要使用该接口来控制两个以上的从设备,就必须了解SPI总线的原理,把例程代码进行扩展,就可以实现了。前提已经很明确,SPI可以实现主从一对一,主从一对多的控制。
(2)PWM模块,对于tms320f2812来说,有16路吧,记得是很多,那么实现多路模拟输出是完全没有问题的。而且有一个特点,对于dsp来说,所有的模块是独立的。既然是独立的,肯定是可以单独控制,并可调。不过,dsp一般都是单线程,需要使用者合理安排各自的调整时间和顺序。
不到之处,请回复。
Q:自己写的一直进不去中断,关于PDPINT保护,中断pwm输出的程序。我写的程序是这样子的使用的是evb的pdpintb中断
先是
         GpioMuxRegs.GPDMUX.bit.T3CTRIP_PDPB_GPIOD5=1;    //设置外设功能
         GpioMuxRegs.GPDDIR.bit.GPIOD5=1;                     //设置为输出口
         
Ev中
        EvbRegs.EXTCONB.bit.INDCOE=0;
        EvbRegs.EVBIMRA.bit.PDPINTB=1;
        EvbRegs.EVBIFRA.bit.PDPINTB=1;
主程序中
PieCtrl.PIEIER1.bit.INTx2=1; //pdpintb 中断
请问还缺少什么?
初步问题是 没开CPU的中断和外设的时钟时能
应加上
IER|=M_INT1;        //开CPU中断1
SysCtrlRegs.PCLKCR.bit.EVBENCLK = 1;    //使能EVB模块时钟

还有其它问题吗? 不知道问题出在哪里呢?希望能得到指导。谢谢前辈。
A:虽然你没说你使用的芯片,我大致猜一下,应该是tms320f281x系列的芯片。
我调试过tms320f2806x或者tms320f28x,建议,先调试一下ev_pwm和ev_timer_period两个例程,有问题,可以讨论。
不到之处,请回复。

Q:大虾,我在调试DSP(6701)的时候,发现程序下到SDRAM内跑的时候,只能按INT型数据跑,如果按字节读写的时候就会乱。还有我调试时使用fopen,printf函数时,就会死机。我研究电路图发现,SDRAM是由两个16位宽的尔必达EDS5116ABTA拼接成32位。但是SDRAM的高16位和低16位UDQM和LDQM同时共用DSP的BE0和BE1,高16位的SDRAM没有接BE2和BE3。请教大虾,这是不是就是我出问题的原因?
A:实在抱歉,我没有调试过6701的芯片。对不住了。
Q:通过dsp f2812 的gpioA组引脚采集一幅静态数字图像,采集后存储到外部存储单元sram中,该怎样设置gpio引脚,该怎样配置,摄像头用ov6620.@michael_xing  大虾
A:首先,你准备使用ov6620摄像头芯片,先搞清楚,这款新片的接口是什么?然后,再决定使用2812的哪些管脚。
其次,ov6620资料很多,
(1)ov6620摄像头使用说明
(2)OV6620详细操作指南
(3)OV6620 源程序代码
再次,看到了单片机采集数据的时候,使用的是一个P口,那么使用2812的GPIO口也可以,需要设置为输入特性。
关于GPIO的使用,参考例程gpio_loopback和gpio_toggle
特别注意,操作GPIO时,一定添加保护,EALLOW和EDIS。

比如:
        //////*******************************input**************************************************two
        ////===================================================adf4351: muxout
        GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;
        GpioCtrlRegs.GPADIR.bit.GPIO0 = 0;
        ////===================================================*no_ptt(no use)
        //GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 0;
        //GpioCtrlRegs.GPADIR.bit.GPIO1 = 0;
        ////===================================================off_rem(no use)
        //GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 0;
        //GpioCtrlRegs.GPADIR.bit.GPIO2 = 0;
Q:最近在做DSP图像处理,需要将采集到的图像从YCrCb转换成RGB格式后,进行图像处理,再将RGB图像转换成YCrCb进行显示,下面是我的图像处理的程序,不知道为什么显示出来的结果总是一片黑,求大神指点。
void videoReverse()
{
      int i,j,temp;
        int r,g,b,y,cr,cb,pr,pg,pb;
Uint8 *Y,*Cr,*Cb;
for(i=intALines;i > 1) + j);
            Cb=(Uint8 *)(tempCbbuffer + i * (numPixels >> 1) + j);
            y=(*Y);cr=(*Cr);cb=(*Cb);
            y-=16;cr-=128;cb-=128;
            r=1.164*y+1.596*cr;
            g=1.164*y-0.813*cr-0.392*cb;
            b=1.164*y+2.017*cb;
            if ( r>255 )        r=255;
                        else if ( r 255 )        g=255;
                        else if ( g 255 )        b=255;
                        else if ( b 255 )          temp=255;
                        else if ( temp > 1) + j)=pb;
                        pr=abs(0.439*r-0.368*g-0.071*b+128);
            *(Uint8 *)(tempCrbuffer + i * (numPixels >> 1) + j)=pg;
            Y++;Cr++;Cb++;
}
}
for(i=numLines/2+intALines;i > 1) + j);
            Cb=(Uint8 *)(tempCbbuffer + i * (numPixels >> 1) + j);
            y=(*Y);cr=(*Cr);cb=(*Cb);
            y-=16;cr-=128;cb-=128;
            r=1.164*y+1.596*cr;
            g=1.164*y-0.813*cr-0.392*cb;
            b=1.164*y+2.017*cb;
            if ( r>255 )        r=255;
                        else if ( r 255 )        g=255;
                        else if ( g 255 )        b=255;
                        else if ( b 255 )          temp=255;
                        else if ( temp > 1) + j)=pb;
                        pr=abs(0.439*r-0.368*g-0.071*b+128);
            *(Uint8 *)(tempCrbuffer + i * (numPixels >> 1) + j)=pg;
            Y++;Cr++;Cb++;
        }
}                        
}
A:我倒,这是你的算法。我只有一个建议,做软件算法之前,现在pc上的软件上,进行仿真,最后再在dsp上进行移植。

Q:求助@michael_xing 大侠下面这段程序中的void image_projecting ()函数该如何进行优化呢?进行线性汇编的话该如何进行代码修改呢?
* FILENAME: app_process.c
* PLATFORM: VC6.0
*
*  The c file is used to compute the  projection iamge   
*
*
\******************************************************************************/
/*--------------the head file declaration-------------------------------------*/
#include      
#include      
#include      
#include      "app_extern.h"
#include      "app_main.h"
/*---------------------------------------------------------------------------------------*/

/*----------------------the function of computing the prejectiong image  -----------------*
*                                                                                         *
*                      此函数用于计算该图像的目标放投影图                                 *
*                      即:计算图像中每一点成为目标的概率                                 *
*                         反投影图中越亮的点表明该点越有可能成为目标                      *
*                        由两部分在组成:1.计算目标的归一化直方图                         *
*                                        2.计算各个像素点成为目标的概率                   *
*                   注:本文在图像上建立的坐标系如下图所示                                *
*                                                                                         *
*                         0---------------> X(352)                                        *
*                         |                                                               *
*                         |                                                               *
*                                                  |                                                               *
*                                                  |                                                               *
*                                                  V y (288)                                                       *
/-----------------------------------------------------------------------------------------*/
void image_projecting ()
{
  object_modeling(Y_data);
  compute_prob_project(Y_data,Y_shadow);
}
/*------------------the function of computing the probility of the pixel -----------------*
*                                                                                         *
*                      此函数用来计算图像中各像素点成为目标的概率                         *
*                                                                                         *
/-----------------------------------------------------------------------------------------*/
void compute_prob_project(unsigned char *p_data ,unsigned char*p_data_project)
{
  int i ;
  unsigned short    *prob=Histogram_object;
  unsigned char     temp;
  for(i=0;i clock->view时钟周期计算时间,然后根据发送的字节数计算速度。
现在我就发送512字节,用for循环赋值。
void Dsp_PC(char* buf,int len)
{               
        int i,k;
        
        if(0==GPIO_Input_Read(pin_FLAGB))
        {
                while(1)
                {
                        if(1==GPIO_Input_Read(pin_FLAGB))
                        {   
                                break;
                        }                        
                }                                
        }
        
        if(1==GPIO_Input_Read(pin_FLAGB))
        {        
                GPIO_Output_Config(pin_ADR1,1);
                GPIO_Output_Config(pin_ADR0,0);                                                        
                for(i=0;i 设置断点                        *(unsigned char*)USB_68013CS=buf;
                        
                }                                
        }         
                        
        return ;
}

main()
{
      、、、、、一系列的初始化、、、
-->设置断点        asm(" NOP ");   
                       for(i=0;i 设置断点                Dsp_PC(buf,512);   //buf是我自己定义的一个数据,里面存放我发送的数据,512是发送的字节数
                       }
-->设置断点        asm(" NOP ");
}
现在如果在我标注的地方设置断点,那么就是单步执行Dsp_PC中发送的数据,在全部发送完512字节后,用的时钟周期是12000左右,但是如果我只在main函数中的两个空语句asm(" NOP ");处加断点,那么是for循环自行发送512字节,这时的时钟周期是37000,两者差别30倍左右!
请教前辈,问题出在哪?首先这两种方法外部因素全部一样   。 在线等、、
A:main()
{
      、、、、、一系列的初始化、、、
-->设置断点        asm(" NOP ");   
                      // for(i=0;i 设置断点        asm(" NOP ");
}

这样子,测试过吗?
Q:刚接手DSP6678,买了TMDSEVM6678LE的板子,以前做的是28335,现在想搞清楚bois如何配置,不知道怎么下手?求指导
A:关于bios的配置,经验不足,见谅。

Q:@michael_xing需要采集46个模拟信号与6个数字信号,打算选取2片16通道12位AD再加上DSP自带的16通道进行采样。目前在选取AD芯片和如何分配资源以及与上位机通信方面比较迷茫,希望大神能指指路   O(∩_∩)O谢谢
A:这个问题,我可以推荐个采样芯片,AD7606,这个芯片我使用过,8路同步采样AD,使用一个SPI接口就可以控制。
类似的16路芯片,也可以使用。建议这样的电路搭建,不要采用片内的AD,直接采用全部外挂的AD来进行。这样子,可以简单些。
另外,提到数字信号,可以不用采用,直接进行电压处理(将其压缩到3.3v以内,加上电压保护),输入到DSP(MCU)的IO,就可以了。
注意事项:
(1)AD有双极性和单极性之分;
(2)AD布板,最好参考芯片的参考电路来进行,需要考虑干扰问题。

Q:请问行工  使用三星的k9wag08u1m Flash芯片,使用dsp320f28069对其进行读写操作,发现在坏块检测的时候每次返回的都是随机数?请问高手,这是什么原因导致的?补充:时序和读写地址都是按照datasheet上写的。  
A:读写时序,有数字示波器观测过吗?第一次调试不熟悉的芯片,总是有这样子的问题的。
建议,如果代码没有问题,一般从两个方面查找:
(1)访问芯片的电平信号,是否满足要求,比如SPI接口访问,需要电平3v,但是有电阻衰减,造成电平信号弱,就会出现时序问题。
(2)使用示波器,查看时序,确保时序的正确性。
Q:大虾  我还有一个问题哦@michael_xing    我这里有信号发生器,连接上DSP板子,再连接上主机,在主机上创立一个Host API ,要求采样,比如采1024点,把数据序列存在一个文件夹里面,也写出DSP采样主程序,这就结束了,我再用Matlab把所采集的数据序列绘出图来,这样的过程该如何下手呢?
A:我这里有信号发生器,连接上DSP板子,再连接上主机,在主机上创立一个Host API ,要求采样,比如采1024点,把数据序列存在一个文件夹里面,也写出DSP采样主程序,这就结束了,我再用Matlab把所采集的数据序列绘出图来,这样的过程该如何下手呢?
其实,你想做的就是一个数据采集和显示器,数据采集是靠dsp来实现,数据显示是在PC上实现,那么中间需要一个数据传输,你没说。
(1)dsp采集,不太难,你已经实现了;
(2)dsp需要和pc之间有个数据交互或者数据传递,你要选择一种通信方式;
(3)PC只要接收到数据之后,就可以存储、显示、计算等等操作了。
建议,如果数据速率要求不高,也可以选择串口,因为串口最简单。
如果数据速率要求高,就要选择诸如网口、usb来传输,这样一方面需要dsp侧做一些工作,同时PC侧也需要做一些工作。
Q:请问大神如何选择DSP的电源芯片?
A:这个问题好,因为dsp的厂家都注意到这个问题了。一般上,dsp的厂家在推荐芯片的同时,都是配套销售。从电源芯片(LDO)到外围的串口,包括处理EMI的芯片,都会有。     直接的方法:问代理,绝对让你有收获

Q:前辈你好,DSP的最高主频能从芯片型号中获得吗?
A:假如,你使用的是ti的芯片,那么在官网上搜索型号,然后看所有的指标。就可以看到了。而且,厂家一般都会把给型号的演进过程中的产品,贴出来,供你挑选。

Q:从CCS5版以后,抛弃了过去CCS3.3的开发方法,普通采用CCS5+controlSUIT的模式,请前辈谈谈这种新方法的感受。
A:更新为ccs5之后,很多问题,都变得简单了。
(1)以前每次烧写都要搭建环境,步骤繁多,改由ccs5之后,只需要简单的配置,就可以完成。
(2)抛弃之前的3.1、3.2、3.3之后,我可以多个芯片的工程都移植在ccs5下,方便管理和调试。
(3)使用eclipse界面后,可以更好的和其他软件匹配,当然这个匹配是从视觉角度而言的。比如开发android使用的eclipse,开发linux界面的qt等等。
(4)最主要的是ti也发布了controlsuit,更加方便了对每个芯片的学习。
我深有感触的,先谈着几点吧。够我用了。哈哈。

Q:用cc5调试的时候,有时候总是曝出在low-power mode下工作?这个是为什么?谢谢前辈
A:你采用的电源芯片是官方为此mcu推荐的吗?另外,如果方便,可以把dsp和外围电路,抓个图上来。具体还真不清楚。我只能像判断RMB一样,告诉你这张是真的,而不能告诉你为什么这是假的。
Q:现在我在做C6678方面的开发,我有两个问题想问一下专家: 1在用CCS对C6678进行调式的时候,具体详细的步骤是什么样的啊,需要注意一些什么问题呢
A:谈不上什么专家。
调试取决于你使用的开发板,使自己做的,还是购买的。
(1)自己做的,硬件电路需要调试,这方面,想必你已经都会了。
(2)购买的,上电肯定没问题了。
上电没有问题,基本上就剩下软件的工作了。
(1)如果在线调试,完全没有问题。按照一般的步骤,这个步骤在例程中都会有所体现,包括时钟配置,看门狗关掉,中断配置,模块初始化等等;
(2)如果烧写调试,特别注意烧写不要加密,到最后产品化的时候,再做加密;
(3)其他的都是软件配置,按照例程或者模块使用的步骤编写就行,坏不了的。
如果是直流源供电,特别注意一下电流大小。
Q:我正在参加电子大赛,对于由话筒产生的叫啸现象如何抑制?查了资料都是用DSP理论说明的。目前对DSP理论计算掌握不熟,大神能指点一下吗?多谢了!
A:话筒啸叫应该是放大倍数过大了。调整模拟电路,话筒的激励放大倍数减小。先试试吧。或者,前端不加任何信号时,话筒是否也有声音,如果这样子,就是话筒自激了。必须先调小放大倍数。

Q:大虾 我是学弱 想请问一下ti dspc200系列可以完成图像处理吗?
A:如果你只是想验证一些算法的话,可以使用c2000实验,如果进到产品级别,不大适合。因为c2000的初衷主要用于工业控制。
我做过电力方面的算法和控制,如果使用c2000,必须要对算法进行优化,而且还有难度。
Q1:请问下,DSP2812怎么实现3路的模拟信号输出,而且该3路模拟信号是可控,可调的。
如果用SPI,怎么实现3路输出?
或者其他用PWM波然后再经过什么可以实现这样的功能?先谢谢前辈的指导了。
A1:哈哈,首先抱歉,你的问题,我有点没理解。  那我先来谈谈我的看法,理解不到之处,请你继续回复。 (1)SPI是接口,对于tms320f2812来说,只有一个SPI接口,那么如果要使用该接口来控制两个以上的从设备,就必须了解SPI总线的原理,把例程代码进行扩展,就可以实现了。前提已经很明确,SPI可以实现主从一对一,主从一对多的控制。 (2)PWM模块,对于tms320f2812来说,有16路吧,记得是很多,那么实现多路模拟输出是完全没有问题的。而且有一个特点,对于dsp来说,所有的模块是独立的。既然是独立的,肯定是可以单独控制,并可调。不过,dsp一般都是单线程,需要使用者合理安排各自的调整时间和顺序。  不到之处,请回复
Q2:可是@michael_xing 我
本来想用SPi接口接4路的DA转换的,现在遇到了新问题,买的DA转换是DA8534,4路16位的DA转换,发送的数据位是24位的,而SPI则做多是16位的数据传输,然后是不是就不能用SPI进行通信了
A2:我也觉得是,不能用SPI了。不过,还有一种方法,就是IO模拟。
Q:还有一个问题问大虾MB9BF506NB与TMS320LF2406A可以替换使用吗?引脚一样吗?  谢谢
A:这个问题呢,首先,你先把两个芯片的手册pdf下载下来;其次,一般在pdf的最前面,有个芯片的管脚图,看一下,各种管脚数目的芯片的各个管脚说明,比如说,有40脚的封装,有64脚的封装,有128脚封装,有176封装,等等,最后,从两个图中对比,找到你要的结论。
如果你还有问题,可以把pdf发到邮箱:zehxjt@163.com,我可以提供帮助。
Q:请教大侠,在使用FLASH _api 函数 擦除Flash时,返回值为STATUS_FAIL_PRECOMPACT,这个错误代码是什么意思呢?该怎么解决这个错误了?谢谢
A:对不起啊,我没遇到过。你用的是哪个环境,哪个芯片?我给你推荐一个方法吧。

Q:同一个程序,运行三次,其中有个量date,每次运行都代表了不同的端口P0,P1,P2,这个程序怎么写?
可以先判断后赋值么?例如if a=1; date=P0; else date=P1;(能把端口赋给变量?变量应该是什么类型?)
可以先判断后宏定义么?例如if a=1; #define date P0; else  #define date P1;(#define能用在主函数里么?能跟if语句嵌套么?每次运行都重新宏定义么?)
请指教!@michael_xing
A:同一个程序,运行三次,其中有个量date,每次运行都代表了不同的端口P0,P1,P2,这个程序怎么写?
可以先判断后赋值么?例如if a=1; date=P0; else date=P1;(能把端口赋给变量?变量应该是什么类型?)
可以先判断后宏定义么?例如if a=1; #define date P0; else  #define date P1;(#define能用在主函数里么?能跟if语句嵌套么?每次运行都重新宏定义么?)
请指教!@michael_xing
猜一下,使用端口P0/1/2,应该是单片机的代码。
单片机的代码可以直接将端口赋值给变量。
在c语言里,如果出现你所属的情况,一般会用入口参数来区分。
Q:利用DSP2812的SCI模块进行串口通信时,怎样将int型数转化为char型数发送给上位机?(比如int型19转化为char型19)
A:你指的int型是16位的,(如果是32位的话,方法类似)
int a;
char b[2];
b[1] = a / 256;
b[0]= a % 256;

Q:大侠,我今年研一,我们实验室老师让我选择JAVA或DSP,两个我基础都不好,问下大侠DSP学习的话需要哪些知识,该怎么学习,我们实验室好像是主要做音频处理的谢大侠指导
A:java是上层,将来的方向就是纯软的东西;
dsp是驱动或者硬件控制层,将来就是嵌入式。
你自己选择了。
有c语言基础,稍微懂点电路知识,就可以玩dsp。
但是想把dsp玩的更好,就得懂点算法的东西。比如你说的视频处理,就是算法。
一般上,现用vc仿真算法,然后优化算法,移植到dsp内进行硬件验证,最终固话到dsp中
Q:使用DSP2812的sci发送数据 用的是查询 代码如下:
  if((SciaTx_Ready()==1)&&(send_flag==1)){
   if(i%5==0){
    SciaRegs.SCITXBUF=0x41;     
   }
   
   SciaRegs.SCITXBUF=data;
   i++;
   if(i==35){
    i=0;
    send_flag=0;
   }  
  }
为什么只能发送出data的值 没有发送0x41呢?
A:貌似没有问题啊。
可以做个测试,把i%5==0的条件干掉,
看看效果。验证i的问题。
如果还不行,可以把上传data的语句干掉,看看效果,是否不能同时上传。(原理上应该没问题的)。
Q:前辈eCAN发送消息  如果成功则CPU将发送响应寄存器CANTA置位   没成功的话 怎么处理才合理?
A:对不起,can总线,我一直想调,但从来没调试过。不好意思啊。



说的很好,很好用!

分享的东西不错,值得一看

向高手学习,向高手致敬

向高手学习,向高手致敬


undefined first referenced                                                      
  symbol       in file                                                           
--------- ----------------                                                      
_main     C:/CCStudio_v3.3PLA/C2000/cgtools/lib/rts2800_fpu32.lib
error: unresolved symbols remain
error: errors encountered during linking; "./Debug/test.out" not built
>> Compilation failure
请问这个问题怎么解决?@michael_xing

DSP—算法——精华资料  看看先

很好。。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top