本帖最后由 一只耳朵怪 于 2018-6-4 17:40 编辑 在Linux下用xds100v2调试335x,速度非常慢,从连接、执行gel、单步调试,每一个操作都非常卡,单步走一步需要15~20秒才反应过来,这是正常的么?我的环境是:Ubuntu 12.04 64bitam3352CCS 6原版的XDS100v2
2018-06-04 15:48
steep? It would mean I could start using more intricate graphic features without writing
2019-07-29 06:24
你好,我正在努力让PIC24EP512GU814设备上的UART发射机工作。我使用了一些代码,这些代码是在PIC 18上运行的一个以前的项目移植的,所以代码本身应该是全功能的。我很满意UART的RX部分运行良好,但Tx只是不想玩球。即使当我将数据加载到TXRG中时,TrMT位也总是被设置。当我启用模块时,中断标志被设置,但是一旦我清除它,它就不会重置。我没有看到任何传输的数据。我已经修改了代码,尝试使用一个备用UART,但是它对操作没有任何影响。我已经着手具体地设置模式和状态寄存器中的每一位,以防万一。我看了勘误表。我故意尝试启用、禁用和重新启用UART,以防万一复位时出现问题。我现在有点失落。谁能看清做错了什么?影响UART的代码部分如下。我必须键入它们,以原谅任何可能的TypPrimalIsAcsidio代码来开始传输中断。 以上来自于百度翻译 以下为原文 Hi All. I'm struggling to get the UART transmitters on the PIC24EP512GU814 device to operate. I'm using some code that's been ported form a previous project that ran on a PIC 18 so know that the code itself should be fully functional. I'm content that the Rx section of the UART is operating fine, but the Tx just doesn't want to play ball. The TRMT bit is always set even when I've loaded data into the TXREG. The interrupt flag is being set when i enable the module but once I've cleared it it never resets. and I'm not seeing any transmitted data. I've altered the code to try using a spare UART but it's had absolutely no effect on the operation. I've gone to the point of specifically setting every bit in the mode and status registers just in case. I've looked at the errata. I've deliberately tried enabling, disabling and re-enabling the UART just in case it was problem on Reset. and I'm now at a totl loss. can anybody see what's been done wrong? The sections of code that affect the UART are as follows. I've had to type them in to please forgive any possible typos Initialisation__builtin_write_OSCCONL(0);RPINR27bits.U3RXR = 127;RPOR15bits.RP126R = 0x1B;__builtin_write_OSSCONL(0x40);U3MODEbits.BRGH = 0;U3MODEbits.STSEL = 0;U3MODEbits.PDSEL = 0;U3MODEbits.IREN = 0;U3MODEbits.UEN = 0;U3MODEbits.LPBACK = 0;U3MODEbits.ABAUD = 0;U3MODEbits.URXINV = 0;U3STAbits.UTXISEL1 = 0;U3STAbits.UTXISEL0 = 0;U3STAbits.UTXINV = 0;U3STAbits.URXISEL = 0;U3STAbits.ADDEN = 0;U3BRG = 63;IFS5bits.U3RXIF = 0;IEC5bits.U3RXIE = 1;//enableU3MODEbits.UARTEN = 1;U3STAbits.UTXEN = 1; Code to begin a transmission//message and system initialisation code//wait for reception of the status via UART Rxwhile ((RxStatus & 0x01) == 1);//send the first byteU3TXREG = txFrameData[0];//wait for the Tx to finishwhile(U3STAbits.TRMT == 0);txRequestPin = 1;//enable the Interrupt and let the ISR do the work now the timing critical phase is overIEC5bits.U3TXIE = 1; Interruptvoid TxISR(void){U3TXREG = txFrameData[txFrameRead];if (txFrameRead == txFrameWrite){//last byte has been sentIEC5bits.U3TXIE = 0;txFrameRead = 0;}elsetxFrameRead++;}void __attribute__ ((__interrupt__, auto_psv)) _U3TXInterrupt (void){TxISR();IFS5bits.U3TXIF = 0;} Cheers Russell
2019-01-07 14:44