Jump to content

Search the Community

Showing results for tags '2553'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • Announcements
    • Suggestions
    • New users say Hi!
  • Spotlight!
    • Sponsor Spotlight
    • Sponsor Giveaways
  • Energia
    • Energia - MSP
    • Energia - TivaC/CC3XXX
    • Energia - C2000
    • Energia Libraries
  • MSP Technical Forums
    • General
    • Compilers and IDEs
    • Development Kits
    • Programmers and Debuggers
    • Code vault
    • Projects
    • Booster Packs
    • Energia
  • Tiva-C, Hercules, CCXXXX ARM Technical Forums
    • General
    • SensorTag
    • Tiva-C, Hercules, CC3XXX Launchpad Booster Packs
    • Code Vault
    • Projects
    • Compilers and IDEs
    • Development Kits and Custom Boards
  • Beagle ARM Cortex A8 Technical Forums
    • General
    • Code Snippets and Scripts
    • Cases, Capes and Plugin Boards
    • Projects
  • General Electronics Forum
    • General Electronics
    • Other Microcontrollers
  • Connect
    • Embedded Systems/Test Equipment Deals
    • Buy, Trade and Sell
    • The 43oh Store
    • Community Projects
    • Fireside Chat
  • C2000 Technical Forums
    • General
    • Development Kits
    • Code Vault
    • Projects
    • BoosterPacks


There are no results to display.

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL





Found 5 results

  1. Hello everyone! im here again for the 3rd time to ask for some advice/help. This forum has been so helpful! Recently i've implemented some code on a msp430g2553 to read a 7 segment LED display. My next step is to send that reading to another msp430 or maybe a c2000 micro-controller. End goal: Msp430-1 decodes the LED display and sends 2 digit number to the Msp430-2 then i display the numbers on my monitor. I was looking at the "wire" master write and slave read examples. I have implemented them but they seem not to work, i'm not sure of a couple of things. How do i address SCL and SDA ? how do i rout them to the specific pin? Wire.begin(4); // join i2c bus with address #4 is 4 the pin for SDA? where do i tell energia where my SCL pin is? I am attaching the examples i'm using in order to get more familiar with this "wire" method. Do I have to change the orientation of the TX and RX jumpers?(see picture) PS. is there any other communication protocol that i could use for my application? maybe something easier? or something where i could see a clear example of?? Thanks in advance for all the help and comments. // Wire Master Writer // by Nicholas Zambetti <http://www.zambetti.com> // Demonstrates use of the Wire library // Writes data to an I2C/TWI slave device // Refer to the "Wire Slave Receiver" example for use with this // Created 29 March 2006 // This example code is in the public domain. #include <Wire.h> void setup() { Wire.begin(); // join i2c bus (address optional for master) } byte x = 0; void loop() { Wire.beginTransmission(4); // transmit to device #4 Wire.write("x is "); // sends five bytes Wire.write(x); // sends one byte Wire.endTransmission(); // stop transmitting x++; delay(500); } //======================================================================================//====================================================================================== //this goes in the other msp430 // Wire Slave Receiver // by Nicholas Zambetti <http://www.zambetti.com> // Demonstrates use of the Wire library // Receives data as an I2C/TWI slave device // Refer to the "Wire Master Writer" example for use with this // Created 29 March 2006 // This example code is in the public domain. #include <Wire.h> void setup() { Wire.begin(4); // join i2c bus with address #4 Wire.onReceive(receiveEvent); // register event Serial.begin(9600); // start serial for output } void loop() { delay(100); } // function that executes whenever data is received from master // this function is registered as an event, see setup() void receiveEvent(int howMany) { while(1 < Wire.available()) // loop through all but the last { char c = Wire.read(); // receive byte as a character Serial.print(c); // print the character } int x = Wire.read(); // receive byte as an integer Serial.println(x); // print the integer }
  2. Halloween comes round, and I can't face all that orange goo everywhere.... so I went cardboard. Rectangular things are easer. What about doing a cube? Oh, yes! And, of course, it needs some good lights: The 5mm round LEDs are RGB, the larger ones are high-brightness white. These are driven with a high pulse current to create the impression of lightning. Code is here: Video:
  3. Hello, Lastly I have whipped up a state machine based protocol for sending small frames using 9-bit address mode. Ft232rl, wrapped up in the MMusb232rl board, doesn't support this mode directly, so I am leaning on changing the parity bit to mark or space to simulate the address bit on the PC side. Everything works as a charm when I single step the program on the PC. Just on a sidenote, this program is coded in Qt using QtSerialPort. However, when I let the program run as it normally would in a production environment, the uC only receives several bytes out of the whole packet. I have observed the following happen. After reset, the uC receives 4 bytes out of 7. Then, I send the packet again, the uC gets 2/7. After that only 1/7th of every packet makes it to the uC, so only an address byte is being received and the state machine waits in the next state, which is 'wait for the number of parameters'. I think the most simple causes like incorrect wiring or voltage level mismatch can be ruled out right away, because single-stepping the PC program makes all the bytes come through successfully. That might suggest a baudrate mismatch, but I have checked hundreds of times and 9600 is used on both ends. That leaves, among others, a broken driver in the field. Right now I am using Linux kernel 3.9.9. I have also tried replacing literally every element of the system, including the 232 chip, the launchpad and moving the 232 chip over a breadboard to no avail. Unfortunately, I don't have access to neither a logic analyzer nor an oscilloscope. Has any of you encountered a similar problem? Below are the most important code snippets: static inline void HW_UARTinit(void) { //---- Select and initialize pin to control RS485 transceiver direction ---------------- P1DIR |= BIT0; P1OUT &= ~BIT0; // Set RS485 transceiver to receive. //assign P1.1 and P1.2 to be used as Rx and Tx P1SEL |= BIT1 + BIT2; P1SEL2 |= BIT1 + BIT2; //no parity, //LSB first, //8-bit data, //one stop bit, //address-bit multiprocessor mode, //async mode UCA0CTL0 |= UCMODE_2; //select clock source - SMCLK, //erroneous characters rejected and UCAxRXIFG is not set, UCA0CTL1 |= UCSSEL_2; //example prescaler settings: //minimal error rate without external oscillator //BRCLK == SMCLK == 1MHz //baud == 9600 //UCBRx == 104 //UCBRSx == 1 //UCBRFx == 0 UCA0BR0 = 104; UCA0BR1 = 0; UCA0MCTL = UCBRS_1; //release USCI for operation UCA0CTL1 &= ~UCSWRST; //enable Rx interrupt IE2 |= UCA0RXIE; } #pragma vector=USCIAB0RX_VECTOR __interrupt void USCIAB0RX_ISR(void){ //ISR(USART_RXC_vect) stateTransition(); } void stateTransition(void){ uint8_t receivedByte = 0; if (HW_UARTaddress()){ vars.state = AWAIT_REQUEST_FETCH_ADDRESS; } // When TXC interrupt it may cause some problems and delays if(vars.state < VALIDITY_CHECK){ receivedByte = HW_UARTget(); lumpBytesRcvd++; } ... } inline static void _INIT(void) { ... //DCO 1MHz if (CALDCO_1MHZ == 0xFF || CALBC1_1MHZ == 0xFF) { //calibration data was erased! we can't proceed while (true); } else { BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; } //MCLK - default DCO/1 //SMCLK - default DCO/1 } HW_UARTaddress() returns true if a last received byte has the address bit set, otherwise returns false. My last idea is that the internal RC oscillator is not stable enough to allow error-free reception of a few subsequent bytes, but that's not so likely. Thanks to everyone who has taken time read this post. Any help will be much appreciated.
  4. Hi. I finaly get VirtualWire working with msp430g2553, but wen I try compiling on msp430g2453 I get: core.a(TimerSerial.cpp.o): In function `TimerSerial__TxIsr': energia-0101E0009/hardware/msp430/cores/msp430/TimerSerial.cpp:213: multiple definition of `__isr_9' VirtualWire/VirtualWire.cpp.o:VirtualWire.cpp:(.text.Timer_A_int+0x0): first defined here collect2: ld returned 1 exit status How to fix library to compile for 2452 ? VirtualWire link: https://dl.dropbox.com/u/27613779/VirtualWire.tar.gz VirtualWire.tar.gz
  5. Hello, I am using 2553 microchip using Launchpad Rev 1.4 According to https://github.com/energia/Energia/wiki/Hardware I have to cross the jumpers (check the image please) in order to use Serial Communication. How will i do that (without soldering)? Any idea? Thanks,
  • Create New...