
这很正常,以前我第一次烧写的时候也发现了许多问题。
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论文的投稿程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)