Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years ago.
Anyyone used a USB port and 2 buses on lpc11u24 or similar (N/A to mbed with "magic chip") ?
Unable to run with BusIn, BusOut and USB - LPC11u24 mbed variant (N.B works OK on mbed with magic chip!) Anyone done this?
Able to read a bus(BAddress) and output to USB port, but writing this to another bus (BData) program crashes. If USB commented out then data reads fine and writes to second port correctly. Pls see code below.
- include "mbed.h"
- include "USBSerial.h" No magic chip
USBSerial pc; No magic chip
Serial pc(USBTX, USBRX); tx, rx mbed else comment this out and comment in two above
DigitalOut AS = (P1_15),RW =(P0_21),Motorspeed=(P0_7);
char RXD[32]; int StrSize = 0;
void RdWrAddr (int iAddr, bool bWr);1 write int iAddrIn=0; int USBdata=0; int AddrVal=0; bool USBWrite = false; use to control USB flow true == write
BusIn *BAddress; BusOut *BData;
int main() { BData = new BusOut (P0_9,P0_8,P1_29,P0_2,P1_22,P1_21,P1_20,P0_10); BAddress = new BusIn (P0_18,P0_5,P0_4,P1_25,P1_24,P1_14,P0_1,P0_17);
Motorspeed =1; Orange LED wait_ms(300);
while(1) { RdWrAddr(0,0); 0 READ ADDRESS BUS and tx USB RW =1;wait_ms(20); RW= 0;wait_ms(20); RW =1;wait_ms(20); RW= 0;wait_ms(20); Flash green running! wait_ms(1); Min Sample Rate 1uS? for Read + loop time tbd? Motorspeed=0; wait_ms(100); } }
void RdWrAddr(int iAddr,bool bWr) write =1 { if(bWr == 1)write { AS =1; wait_us(10); return;
}
else read { AS =0; AddrVal = BAddress->read(); Read Addr Bus
if (AddrVal != USBdata) Do when Addr changes { USBdata = AddrVal; Prepare USB data (ie going to send the Addr red above) BData->write(AddrVal); Write Addr to Data bus (LEDs) pc.putc(USBdata); TX ascii character wait_ms(1); Motorspeed=1;
}
else { pc.putc(95); send underscore on no data - USB Active
return; } return; } } Anyone seen this problem?