Prev: instructor solution manual for Engineering Mechanics Dynamics, Bedford & Fowler, 5th Edition
Next: We are here for all your events!
From: Randy Day on 31 May 2010 19:56 Can anyone suggest why the following is happening? I have two Pics, a '690 and a '2455, communicating via eusart (8-bit). After a succesful round of query/response, the '690 transmits (confirmed on scope), but the '2455 doesn't receive. '690 '2455 ---- ----- . MOVWF TXREG BTFSS PIR1, RCIF . GOTO $-1 . MOVWF TXREG BTFSS PIR1, RCIF . GOTO $-2 ; things work well up to here. ; successful comm is displayed . BTFSS PIR1, RCIF . GOTO $-2 ; a delay, up to several seconds, occurs MOVWF TXREG . ; and here the 690 xmits, but the 2455 ; stays in the loop... I could see a config problem if there was no comm at all, but why work and then stop? All suggestions gratefully accepted.
From: George Jefferson on 1 Jun 2010 09:21 "Randy Day" <randy.day(a)sasktel.netx> wrote in message news:MPG.266e08a1478ae4059896b9(a)news.sasktel.net... > Can anyone suggest why the following is happening? > > I have two Pics, a '690 and a '2455, communicating > via eusart (8-bit). After a succesful round of > query/response, the '690 transmits (confirmed on > scope), but the '2455 doesn't receive. > > '690 '2455 > ---- ----- > . MOVWF TXREG > BTFSS PIR1, RCIF . > GOTO $-1 . > MOVWF TXREG BTFSS PIR1, RCIF > . GOTO $-2 > > ; things work well up to here. > ; successful comm is displayed > > . BTFSS PIR1, RCIF > . GOTO $-2 > > ; a delay, up to several seconds, occurs > > MOVWF TXREG . > > ; and here the 690 xmits, but the 2455 > ; stays in the loop... > > I could see a config problem if there was no comm > at all, but why work and then stop? All > suggestions gratefully accepted. Clear the recieve buffer? It may be full and hence it can't recieve any more messages until cleared. Does it depend on the specific msg type? Try various messages or all messages and see if any get through. If some get through then probably a config problem. Not sure on the pic16's but your recieve buffer may not be configed properly. The clocks may be out of sync causing some problems. Check the errata as I recall some issues with the uart module.
From: petrus bitbyter on 5 Jun 2010 15:27
"Randy Day" <randy.day(a)sasktel.netx> schreef in bericht news:MPG.266e08a1478ae4059896b9(a)news.sasktel.net... > Can anyone suggest why the following is happening? > > I have two Pics, a '690 and a '2455, communicating > via eusart (8-bit). After a succesful round of > query/response, the '690 transmits (confirmed on > scope), but the '2455 doesn't receive. > > '690 '2455 > ---- ----- > . MOVWF TXREG > BTFSS PIR1, RCIF . > GOTO $-1 . > MOVWF TXREG BTFSS PIR1, RCIF > . GOTO $-2 > > ; things work well up to here. > ; successful comm is displayed > > . BTFSS PIR1, RCIF > . GOTO $-2 > > ; a delay, up to several seconds, occurs > > MOVWF TXREG . > > ; and here the 690 xmits, but the 2455 > ; stays in the loop... > > I could see a config problem if there was no comm > at all, but why work and then stop? All > suggestions gratefully accepted. Having ome experience with PICs I guess you have to reset some flag (PIR1 maybe?) after reading the received data otherwise the UART does not accept new data. Beware. Small differences may cause big problems. You'll have to check the datasheet of the 2455 including the errata to hope to be sure to have 100% reliable data. petrus bitbyter |