求助,dsp程序在2812ram里面运行SCI通讯正常,而烧写到flash里面运行就不正常了

求助,dsp程序在2812ram里面运行SCI通讯正常,而烧写到flash里面运行就不正常了,第1张

这很正常,以前我第一次烧写的时候也发现了许多问题。

dsp的flash烧写比较麻烦,有时候光换cmd文件并不能保证程序在flash中正确运行。而且就算能正确运行,程序在flash中运行的速度比ram中要慢很多。这对实时性和通讯影响都非常大。一般都要编写启动代码,让烧写在flash中的程序,在启动的时候搬到ram中运行。这样速度会提高很多。我这里直接将启动代码和相关的flash中给你附上。你要做的就是:

1将库文件换成我给你的库文件

2启动代码用汇编编的,将启动代码添加的你的工程中。

3将原来的flash文件替换为我给你的这两个flash

最后你的工程应该是这样的,这里以ccs55为例:

所有选中的文件都要添加。

ps:有什么问题欢迎继续追问,当年我为了烧写这个都快郁闷死了,都将dsp锁死过。所以还是比较有经验的。

TX_EN;

ScibRegsSCITXBUF = Scib_VarRx[i];

RX_EN;

RX_EN;前加延时试试,往寄存器ScibRegsSCITXBUF写数据,数据不会立刻完成发送的。

自己留好投稿时的文件号,然后登录网站查询~一般有以下几种情况:

1 Submitted to Journal 刚提交的状态

2 Manuscript received by Editorial Office 就是你的文章到了编辑手里了,证明投稿成功

3 With editor如果在投稿的时候没有要求选择编辑,就先到主编那,主编会分派给别的编辑。这当中就会有另两个状态:

31 Awaiting Editor Assignment指派责任编辑 Editor assigned是把你的文章分给一个编辑处理了。

32 Editor Declined Invitation 如果编辑接手处理了就会邀请审稿人了。

4随后也会有2种状态

41 Decision Letter Being Prepared 就是编辑没找审稿人就自己决定了,那根据一般经验,对学生来说估计会挂了 1)英文太差,编辑让修改。 2)内容太差,要拒了。除非大牛们直接被接收。

42 Reviewer invited 找到审稿人了,就开始审稿

5 Under review 这应该是一个漫长的等待。当然前面各步骤也可能很慢的,要看编辑的处理情况。 如果被邀请审稿人不想审,就会decline,编辑会重新邀请别的审稿人。

6 Required Reviews Completed 审稿人的意见已上传,审稿结束,等待编辑决定

7 Evaluating Recommendation 评估审稿人的意见,随后你将收到编辑给你的decision

8 Minor revision/Major revision这个时候可以稍微庆祝一下了,问题不大了,因为有修改就有可能。具体怎么改就不多说了,谦虚谨慎是不可少的。

9 Revision Submitted to Journal 又开始了一个循环。

10 Accepted 恭喜了

要是等不及了,就直接email editor。

飞思卡尔单片机SCI是个全双工异步通讯接口,不设置主从也可以通讯,但一般用在点对点通讯;在多机系统中,考虑通讯的可靠、准确,在线路上只有发送时只有一个单片机发送,不会在总线上发生混乱,所以要定义主、从关系;一般起始发送指令的单片机,为主;其它为辅。根据你系统中的上下关系也可以定义。主发指令向从机执行,或者要求从机发送数据回,协议根据系统要求设置。

第一步:投稿

sci论文能够在期刊上刊登出来,首先作者sci论文要在期刊上发表,否则不可能将sci论文发表。sci投稿很重要,作者在sci投稿时,一定要注意sci论文与期刊是否匹配,sci论文格式是否符合期刊要求,以及准备好sci论文投稿期刊资料,避免影响sci论文投稿期刊。

第二部:审稿

sci论投稿期刊下一个程序会引入审核。首先,sci期刊编辑会对论文进行初步审核,sci期刊编辑会择优选择出高质量的论文,并推荐给审稿人;然后进入外审,外审专家会针对sci论文给出审稿意见;最后,进入终审。

第三步:修稿

sci论文发表总会出现大大小小的修改,在sci论文修改时,作者一定要注意,根据sci论文审稿人修改意见修改,若有异议直接向审稿人提出解决,直至sci论文修改满足期刊需求。

第四步:录用

经过多次修改的sci论文会通过审核,并给出sci录用,反之则被sci期刊拒稿。

第五步:签约

sci期刊与作者版权签订合同。此时,作者需要向sci期刊支付一定费用,如版面费等,具体以sci期刊实际情况为准。

第六步:校稿

sci论文设计排版后,期刊杂志社编辑会让作者再次对sci论文进行校稿,若有错误,及时向sci期刊杂志社编辑反馈。

第七步:online

online就是线上发表sci论文,通常sci论文会在见刊前先上线,作者可通过网络查询电子版期刊。

第八步:见刊

期刊印刷出版,即发表的SCI论文随着本期期刊印刷出来。

第九步:检索

见刊后的sci论文向数据库送检,一旦收录,即sci论文被成功检索。

DSP的SCI接口是一种半双工通信接口,它要求发送端必须先发送数据,然后才能接收数据。这是因为DSP的SCI接口是一种串行接口,它只有一个信号线,发送端和接收端共用这一条信号线,所以发送端必须先发送数据,然后接收端才能接收数据。另外,DSP的SCI接口是一种同步接口,它需要一个时钟信号来同步发送端和接收端的数据传输,所以发送端必须先发送数据,然后接收端才能接收数据。

是可以的,下面是配置:

void linSciInit() { // 这里把 LIN 当 SCI 用。

//Allow write to protected registers

EALLOW;

LinaRegsSCIGCR0bitRESET = 0; // Into reset

LinaRegsSCIGCR0bitRESET = 1; // Out of reset

LinaRegsSCIGCR1bitSWnRST = 0; // Into software reset

//SCI Configurations

LinaRegsSCIGCR1bitCOMMMODE = 0; // Idle-Line Mode

LinaRegsSCIGCR1bitTIMINGMODE = 1; // Asynchronous Timing

LinaRegsSCIGCR1bitPARITYENA = 0; // No Parity Check

LinaRegsSCIGCR1bitPARITY = 0; // Odd Parity

LinaRegsSCIGCR1bitSTOP = 0; // One Stop Bit

LinaRegsSCIGCR1bitCLK_MASTER = 1; // Enable SCI Clock

LinaRegsSCIGCR1bitLINMODE = 0; // SCI Mode

LinaRegsSCIGCR1bitSLEEP = 0; // Ensure Out of Sleep

LinaRegsSCIGCR1bitMBUFMODE = 0; // none Buffer Mode

LinaRegsSCIGCR1bitLOOPBACK = 0; // External Loopback

LinaRegsSCIGCR1bitCONT = 1; // Continue on Suspend in Emulation Mode

LinaRegsSCIGCR1bitRXENA = 1; // Enable RX

LinaRegsSCIGCR1bitTXENA = 1; // Enable TX

//Ensure IODFT is disabled

LinaRegsIODFTCTRLbitIODFTENA = 0x0;

//Set transmission length )

LinaRegsSCIFORMATbitCHAR = 7; // Eight bits

LinaRegsSCIFORMATbitLENGTH = 0; // 1 byte

//Set baudrate

LinaRegsBRSRbitSCI_LIN_PSL = 194; // Baud = 9600hz

LinaRegsBRSRbitM = 0; // 官方说的是这个值为 5,但实测 0 比 5 要稳定。

// Enable interrupts

LinaRegsSCISETINTbitSETRXINT = 1; // Enable RX interrupt

// LinaRegsSCISETINTbitSETTXINT = 1; // Enable TX interrupt,要发送的时候再打开。

//Set interrupt priority

LinaRegsSCICLEARINTLVLall = 0xFFFFFFFF; // Set Int level of all interrupts to LVL 0

LinaRegsSCIGCR1bitSWnRST = 1; // bring out of software reset

// Disable write to protected registers

EDIS;

}

注意,这里配置为 9600,测试时最大只能到 19200,再高就会不稳定,原因未知。

配套 ISR:

interrupt void linaLevel0ISR(void) {

//Read-clear the interrupt vector

// Uint16 i;

LinL0IntVect = LinaRegsSCIINTVECT0all;

//RXINT

if (LinL0IntVect == 11) { //RXVect

com_rx = LinaRegsSCIRD & 0xff; // Read data

if (cRxCounter < 28) {

cRxBuffer[cRxCounter++] = com_rx;

}

} else if (LinL0IntVect == 12) { //TXVect

if (txindex < tx_sum) //发1个

LinaRegsSCITD = cTxBuffer[txindex++];

else { //发完了。

EALLOW;

//timer_local

LinaRegsSCICLEARINTall = 0x000100; // disable TX interrupt

LinaRegsSCISETINTbitSETRXINT = 1; // enable RX interrupt

EDIS;

}

} else { //Other Interrupt

//There should not be other interrupts

linSciInit();

}

//Acknowledge the PIE to be able to receive more interrupts

PieCtrlRegsPIEACKall = PIEACK_GROUP9;

}

以上就是关于求助,dsp程序在2812ram里面运行SCI通讯正常,而烧写到flash里面运行就不正常了全部的内容,包括:求助,dsp程序在2812ram里面运行SCI通讯正常,而烧写到flash里面运行就不正常了、DSP28335的SCI发送问题,SCI一直发送不了,怎么办、SCI论文的投稿程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9720955.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存