Search the Community

Showing results for tags 'tiva'.

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


  • Community Calendar

Found 48 results

  1. I got the QEI module working on the new Tiva Launchpad and thought the code might be helpful for others. QEI0 can use either PortD or Port F, since F is used by the LEDs I used PortD - the only gotcha is that PD7 is one of the NMI locked pins by default so I burned lots of time wondering why things weren't quite working. Anyway here is working code: //***************************************************************************** // // qei.c - Example to demonstrate QEI on Tiva Launchpad //This setup uses QEI0 P6/PD7, in my testing an arcade trackball is connected. //You can also use QEI1 PC5/PC6 in which case you don't need the PD7 HWREG calls (note: I didn't test this) // // //***************************************************************************** #include <stdint.h> #include <stdbool.h> #include "inc/hw_gpio.h" #include "inc/hw_types.h" #include "inc/hw_ints.h" #include "inc/hw_memmap.h" #include "driverlib/sysctl.h" #include "driverlib/pin_map.h" #include "driverlib/gpio.h" #include "driverlib/qei.h" volatile int qeiPosition; int main(void) { // Set the clocking to run directly from the crystal. SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN); // Enable QEI Peripherals SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); SysCtlPeripheralEnable(SYSCTL_PERIPH_QEI0); //Unlock GPIOD7 - Like PF0 its used for NMI - Without this step it doesn't work HWREG(GPIO_PORTD_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY; //In Tiva include this is the same as "_DD" in older versions (0x4C4F434B) HWREG(GPIO_PORTD_BASE + GPIO_O_CR) |= 0x80; HWREG(GPIO_PORTD_BASE + GPIO_O_LOCK) = 0; //Set Pins to be PHA0 and PHB0 GPIOPinConfigure(GPIO_PD6_PHA0); GPIOPinConfigure(GPIO_PD7_PHB0); //Set GPIO pins for QEI. PhA0 -> PD6, PhB0 ->PD7. I believe this sets the pull up and makes them inputs GPIOPinTypeQEI(GPIO_PORTD_BASE, GPIO_PIN_6 | GPIO_PIN_7); //DISable peripheral and int before configuration QEIDisable(QEI0_BASE); QEIIntDisable(QEI0_BASE,QEI_INTERROR | QEI_INTDIR | QEI_INTTIMER | QEI_INTINDEX); // Configure quadrature encoder, use an arbitrary top limit of 1000 QEIConfigure(QEI0_BASE, (QEI_CONFIG_CAPTURE_A_B | QEI_CONFIG_NO_RESET | QEI_CONFIG_QUADRATURE | QEI_CONFIG_NO_SWAP), 1000); // Enable the quadrature encoder. QEIEnable(QEI0_BASE); //Set position to a middle value so we can see if things are working QEIPositionSet(QEI0_BASE, 500); //Add qeiPosition as a watch expression to see the value inc/dec while (1) //This is the main loop of the program { qeiPosition = QEIPositionGet(QEI0_BASE); SysCtlDelay (1000); } }
  2. Is there a way to use the SoftwareSerial library on the Stellaris Launchpad TM4C123GXL board? I am trying to connect a Sparkfun serial enabled LCD screen to the board but the SoftwareSerial library is only compatible with 20, 16, and 8 MHz processors, and the TM4C123GXL is an 80 MHz chip. How can I use this LCD screen with the Stellaris Launchpad over a UART connection? Do I need to use SoftwareSerial or can I do without it? I am programming in Energia 0101E0017 on Windows 7 64 bit. Any help is greatly appreciated, thanks!
  3. Where are the files related to compiler for arm cortex or tiva in energia in the latest version? It used to be under hardware/tools/lm4f/bin
  4. Can someone provide a code for implementing a watchdog timer to autoreset in TIVA TM4C1294ncpdt using energia?
  5. Hi to all out there, I've started development on the Tiva TM4C platform using the very nice LaunchPad two years ago. Since then I had so much fun to create cool applications and even complete systems based on that awesome low cost Ecosystem . During my projects I realized that there is not really a BoosterPack that turns the LaunchPad into a modern audio player/recorder. Because of that I've started to develop a BoosterPack named BoostMP3 that will enable any LaunchPad to work as a cool multipurpose audio device. For that I've created the following little lading website that gives a short introduction on that. Since I'm not so good in Sales or advertisement I was thinking that the best way to get any kind of feedback would be to ask all you people out there. Is there any kind of interest to buy this? Is the offered functionality ok or would you like to have more or less? What do you think about the price?? I would appreciate any kind of feedback! Thanks a million!
  6. Tiva Eagle Library All TM4C123xxxPM and TM4C129xxxPDT parts are now included. Two parts now, will add remaining 3 123xxxPM's in few days ( TM4C123[0,2,A]xxPM, TM4C123[6,F]xxPM, and TM4C123[7,G]xxPM ) Just one part for now, TM4C123[1,3,B]xxPM (for example TM4C1231C3PM) Content: TM4C123[0,2,A]xxPM - 64 pin LQFP package - PM (S-PQFP-G64) TM4C123[1,3,B]xxPM - 64 pin LQFP package - PM (S-PQFP-G64) TM4C123[6,F]xxPM - 64 pin LQFP package - PM (S-PQFP-G64) TM4C123[7,G]xxPM - 64 pin LQFP package - PM (S-PQFP-G64) TM4C129xxxPDT - 128 pin TQFP package - PDT (S-PQFP-G128) ti-tiva.lbr (updated 4/25/14)
  7. Hello everybody, I just bought the TIVA TM4C1294XL because of its functionalities, however, I tried to connect my TIVA to a router (with DHCP enable), and my PC to the same router. Then I used a IP Scan software trying to find the TIVA's IP Address, but I couldn't. How do I set up a IP for TIVA? Or how to I search for the TIVA's IP Address? Thank you.
  8. 0down votefavorite Hi, I am trying to implement Modbus TCP on TIVA 1294 using the following code. I am using a modbus slave simulator on a pc to check the following code. However, the code doesn't seem to be working. I have downloaded the code & the libraries from Please suggest me corrections if necessary. Also is there another working example available for modbus tcp/ip for ethernet on TIVA energia? Please guide. #include <SPI.h> #include <Ethernet.h> #include "MgsModbus.h" MgsModbus Mb; int inByte = 0; // incoming serial byte // Ethernet settings (depending on MAC and Local network) byte mac[] = {0x00, 0x1A, 0xB6, 0x02, 0xD1, 0x14 }; IPAddress ip(192, 168, 0, 35); void setup() { // serial setup Serial.begin(9600); Serial.println("Serial interface started"); // initialize the ethernet device Ethernet.begin(mac, ip); // start etehrnet interface Serial.println("Ethernet interface started"); // print your local IP address: Serial.print("My IP address: "); for (byte thisByte = 0; thisByte < 4; thisByte++) { // print the value of each byte of the IP address: Serial.print(Ethernet.localIP()[thisByte], DEC); Serial.print("."); } Serial.println(); // slave address Mb.remSlaveIP = (192,168,0,1); // Fill MbData // Mb.SetBit(0,false); Mb.MbData[0] = 1; Mb.MbData[1] = 2; Mb.MbData[2] = 3; Mb.MbData[3] = 4; Mb.MbData[4] = 5; Mb.MbData[5] = 6; Mb.MbData[6] = 0; Mb.MbData[7] = 0; Mb.MbData[8] = 0; Mb.MbData[9] = 0; Mb.MbData[10] = 0; Mb.MbData[11] = 0; // print MbData for (int i=0;i<12;i++) { Serial.print("address: "); Serial.print(i); Serial.print("Data: "); Serial.println(Mb.MbData); } // print menu Serial.println("0 - print the first 12 words of the MbData space"); Serial.println("1 - FC 1 - read the first 5 coils from the slave and store them in the lower byte of MbData[1]"); Serial.println("2 - FC 2 - read the first 5 discrete inputs from the slave and store them in the higer of the MbData[1]"); Serial.println("3 - FC 3 - read the first 5 registers from the slave and store them in MbData[3..7"); Serial.println("4 - FC 4 - read the first 5 input registers from the slave and store them in MbData[8..12]"); Serial.println("5 - FC 5 - write coil 0 of the slave with the bit valeu of MbData[0.0]"); Serial.println("6 - FC 6 - write register 0 of the slave with MbData[2]"); Serial.println("7 - FC 15 - write 5 coils of the slave starting with coil 0 with GetBit(16..20"); Serial.println("8 - Fc 16 - write 5 registers of the slave starting on register 0 with MbData[0..4]"); Serial.println(Mb.remSlaveIP); } void loop() { if (Serial.available() > 0) { // get incoming byte: inByte =; if (inByte == '0') { // print MbData for (int i=0;i<12;i++) { Serial.print("address: "); Serial.print(i); Serial.print("Data: "); Serial.println(Mb.MbData); } } if (inByte == '1') {Mb.Req(MB_FC_READ_COILS, 6,6,6);} // 1 // ref, count, pos if (inByte == '2') {Mb.Req(MB_FC_READ_DISCRETE_INPUT, 6,6,6);} // 2 if (inByte == '3') {Mb.Req(MB_FC_READ_REGISTERS, 6,6,6);} // 3 if (inByte == '4') {Mb.Req(MB_FC_READ_INPUT_REGISTER, 6,6,6);} // 4 if (inByte == '5') {Mb.Req(MB_FC_WRITE_COIL, 0,0,0);} // 5 // count can be x if (inByte == '6') {Mb.Req(MB_FC_WRITE_REGISTER, 7,0,0);} // 6 // count can be x if (inByte == '7') {Mb.Req(MB_FC_WRITE_MULTIPLE_COILS, 0,6,0);} // 15 if (inByte == '8') {Mb.Req(MB_FC_WRITE_MULTIPLE_REGISTERS, 0,6,0);} // 16 } Mb.MbmRun(); // Mb.MbsRun(); } Thanks.
  9. Hi, I want to implement a code for Modbus RTU over TCP/IP usng TM4C1294NCPDT launchpad. Does anyone know a library which can be used to implement it. Also is it possible to obtain data from a PLC using modbus TCP/IP and send it to a Server on cloud using the same ethernet port? Please help. Thanks.
  10. I have experience with the traditional C programming in Code Composer and have implemented a timer interrupt routine in CCS for TIVA TM4C1294, now I want to create a timer ISR in Energia, how do I proceed ?
  11. Hi, Can someone help me to implement an internal RTC module code in TIVA TM4C1294NCPDT using Energia? Thanks.
  12. Buy: The 43oh Store or Rob's Tindie Store. The newest version of the Ethernet BoosterPack is based on the newest chip from WIZnet, W5500. P1.5 - SCLK P1.6 - MISO P1.7 - MOSI P2.3 - /CS P2.4 - /INT P2.5 - /RST Configuration jumpers are on the bottom, PMODE1-PMODE3, LINK LED, and ACT LED. LED jumpers control which LEDs are used, on board or socket. Available on Tindie.
  13. Hi, I am not from the field of IT and do not know how to design webpages. I want to design a webpage/dashboard for real time monitoring of remote data using Tiva. I have referred and few other resources, but I am unable to find any customizable dashboard which has user management and alert facilities. Can anyone suggest me some tool with which I can design my own website/dashboard for IOT (drag-drop preferably)? Thanks.
  14. I am uploading the fade example of energia to the tiva t4mc1294 connected launchpad but the LED is not fading. It is just blinking. I have also connected the pwm output to motor drivers but the speed of the motors are not changing. When I check the voltage of the pin with my multimeter, I get 0.66v. I have tried the fade example on different pins like PF2, PF3(pins marked for analogWrite in launchpad reference) but the results are same. Here is the code for the fade example, given as reference. int brightness = 0; // how bright the LED is int fadeAmount = 5; // how many points to fade the LED by void setup() { // declare pin 14 to be an output: //analogFrequency(FREQ); pinMode(PF_3, OUTPUT); pinMode(PF_2,OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(PF_2,HIGH); // set the brightness of pin 9: analogWrite(PF_3, brightness); // change the brightness for next time through the loop: brightness = brightness + fadeAmount; Serial.print(brightness); // reverse the direction of the fading at the ends of the fade: if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } // wait for 30 milliseconds to see the dimming effect delay(30); }
  15. Hi, I want to build a code for two TIVA lauchpads so as to form a redundant pair. If Launchpad 1 fails, then the logic should shift to Launchpad 2 where both launchpads have the same logic. How do I go about it? Any insights would be helpful.
  16. I am using the Modbus RTU library for Arduino for TIVA TM4c1294ncpdt. Slave(Modbus_Slave Software on PC) is responding to master request but master somekind does not proccess informations that he gets. So I can not regulate LED on master side over potentiometer on slave side. Also master stops sending request to slave after 10 requests sended to slave (when retry_count is set to 5). Problem is: 1) master send request to slave, 2) slave gets request 3) slave process request, 4) slave returns answer to master 5) master gets answer 6) master do not process slave answer After 5 requests (10 actually: PRESET_MULTIPLE_REGISTERS - 5 times and READ_HOLDING_REGISTERS - 5 times), master stops sending request to slave, due to retry_count which is set to 5. If I set retry count to 5000000, it still stops sending requests.
  17. I'm using a Tiva C series launchpad (TM4C123G) to sample analog data using an external ADC (ADC0804). The ADC is clocked at 1.4MHz. The SysCtlClockSet command was used to set clock freq to 80MHz. A square wave is being generated on a pin, with a frequency same as the sampling rate, using the code given below. So this gives us the sampling rate on an oscilloscope. For some reason the sampling rate is TOO low. It is only ~330KHz with NO command in the loop. It drops to about ~280KHz with one digitalRead and to just a few hundred Hz with a SerialPrintln(). What is causing it to run so slow and how can it be improved? #include <tm4c123ge6pm.h> #include <stdint.h> #include <stdbool.h> #include <pin_map.h> #include <sysctl.h> int db0 = PB_3; int db1 = PC_4; int db2 = PC_5; int db3 = PC_6; int db4 = PC_7; int db5 = PD_6; int db6 = PD_7; int db7 = PF_4; int cs = PB_5; int rd = PD_1; int wr = PD_0; int intr = PE_4; int out = PD_3; int a = 0; int count = 1; int b; boolean flag = 0; void setup() { SysCtlClockSet(SYSCTL_SYSDIV_2_5|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ); //SysCtlClockSet(SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ|SYSCTL_SYSDIV_2_5); pinMode(db0, INPUT); pinMode(db1, INPUT); pinMode(db2, INPUT); pinMode(db3, INPUT); pinMode(db4, INPUT); pinMode(db5, INPUT); pinMode(db6, INPUT); pinMode(db7, INPUT); pinMode(out, OUTPUT); pinMode(cs, OUTPUT); pinMode(rd, OUTPUT); pinMode(wr, OUTPUT); pinMode(out, OUTPUT); pinMode(intr, INPUT); pinMode(db0, INPUT); pinMode(db1, INPUT); pinMode(db2, INPUT); pinMode(db3, INPUT); pinMode(db4, INPUT); pinMode(db5, INPUT); pinMode(db6, INPUT); pinMode(db7, INPUT); Serial.begin(9600); //Code of initialzation... //Step C digitalWrite(cs, LOW); delay(100); //has to be type unsigned long digitalWrite(out,HIGH); b=1; } void loop() { flag = !flag; digitalWrite(out,flag); a= digitalRead(db0); count = 1; a = 0; a = a+ digitalRead(db0)*count; count = count*2; a = a+ digitalRead(db1)*count; count = count*2; a = a+ digitalRead(db2)*count; count = count*2; a = a+ digitalRead(db3)*count; count = count*2; a = a+ digitalRead(db4)*count; count = count*2; a = a+ digitalRead(db5)*count; count = count*2; a = a+ digitalRead(db6)*count; count = count*2; a = a+ digitalRead(db7)*count; count = count*2; Serial.println(a); //Serial.println(SysCtlClockGet()); }
  18. Hi, Is there a library available for Exosite and TIVA launchpad in Energia, similar to the qs_iot sample used in CCS IDE? Thanks, TVG
  19. Pardon folks, Right now I'm working on a project that requires aid from tiva's hardware timers for me to schedule everything properly. For this, I imported some of tivaware's API library in to manipulate them. Everything works more or less fine until I have to import energia.h into this little library I've written, and then suddenly I encounter a large amount of errors involving objects and types in energia/bin not being recognized by the compiler. Some samples below: /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:259:8: error: 'uint64_t' does not name a type /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:260:27: error: variable or field 'TimerMatchSet' declared void /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:260:27: error: 'uint32_t' was not declared in this scope /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:260:46: error: 'uint32_t' was not declared in this scope /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:261:27: error: 'uint32_t' was not declared in this scope /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:262:8: error: 'uint32_t' does not name a type /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:263:29: error: variable or field 'TimerMatchSet64' declared void /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:263:29: error: 'uint32_t' was not declared in this scope /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:263:48: error: 'uint64_t' was not declared in this scope /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:264:8: error: 'uint64_t' does not name a type /home/mrdtdev/Bin/Energia/energia-0101E0016/hardware/lm4f/cores/lm4f/driverlib/timer.h:265:30: error: variable or field 'TimerIntRegister' declared void Does anyone have any ideas to get me started on debugging this? I usually use CCS and have recently started experimenting with Energia, so this software's quirks and details are something I am not generally aware of.
  20. Good morning. I have a DS3231 and I want do hibernate Tiva C and wake up It with the rtc alarm. I did the alarm configuration, but, I couldn't configurate the hibernation module using Energia IDE. The microcontroller will has some sensors and sd card. So, It has a cycle: wake up (with rtc alarm) > read the sensors > write the data > hibernate ^------------------------------------------------------------------------------
  21. Got an email today about a new LaunchPad supporting hardware cryptography - mainly aimed at supporting HTTPS for your IoT projects. Promo pricing $16.99, normally $24.99.
  22. Hi Everyone, I have made available binaries and source code for an RGB lighting project called LightServer that I thought some of you would be interested in. The best way to see what you can do with LightServer is to view the videos on Vimeo here - No coding experience required to set this up and use. Technical Details LightServer uses the Tiva C LaunchPad and the CC3100 Wi-Fi BoosterPack and a custom BoosterPack (Eagle files included
  23. Hello, I've been looking trough the forums for an SD Card Library that can be used on TM4C123GH6PM micro controller. I came across one ( but the link redirects to the forum main page, so I can't really get my hands on it. Does someone has a low resource library for this? Thanks! Note: In case this is good to know, I'm looking to use the SD Card slot that comes with the ILI9341 2.2" LCD screen sold (mostly) on Ebay. So we're talking about an SPI-Interfaced SD Card.
  24. TLC5940 driver for Tiva / Stellaris. Uses 2 Timers, SSI, and DMA. SPI runs @ 20MHz, GSCLK @ 8MHz, update occurs every ~0.5ms Up to 16 TLC5940s can be daisy chained (in theory, I tested only 2.) main.cstartup_ccs.c
  25. Hi, I'm getting to grips with a Launchpad ek-tmc123gxl board, and so far it looks amazing. However I have hit a snag which is pretty painful. Consider the following code: #include <stdbool.h> #include <stdint.h> #include "inc/hw_gpio.h" #include "inc/hw_memmap.h" #include "inc/hw_sysctl.h" #include "inc/hw_types.h" #include "driverlib/gpio.h" #include "driverlib/pin_map.h" #include "driverlib/rom.h" #include "driverlib/rom_map.h" #include "driverlib/sysctl.h" void setup(void); #define delay(x) SysCtlDelay((SysCtlClockGet() / 3000000) * x) uint8_t sequence_1[16] = { 0x4b, 0x4e, 0xcd, ... other 8-bit values }; uint8_t sequence_2[16] = { ... another list of 16 8-bit values like sequence_2 }; int index; int main() { int i, wait; setup(); index = 0; wait = 1000; while(1) { delay(wait); GPIOPinWrite(GPIO_PORTB_AHB_BASE, 0xFF, seq_m1[index]); GPIOPinWrite(GPIO_PORTD_AHB_BASE, 0xFF, seq_m2[index]); if(++index == 16) index = 0; } void setup(void) { // Set the clocking to run directly from the PLL at 80 MHz. SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ | SYSCTL_OSC_MAIN); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); SysCtlGPIOAHBEnable(SYSCTL_PERIPH_GPIOB); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); SysCtlGPIOAHBEnable(SYSCTL_PERIPH_GPIOD); GPIOPinTypeGPIOOutput(GPIO_PORTB_AHB_BASE, 0xFF); GPIOPadConfigSet(GPIO_PORTB_AHB_BASE, 0xFF, GPIO_STRENGTH_8MA, GPIO_PIN_TYPE_STD); GPIOPinTypeGPIOOutput(GPIO_PORTD_AHB_BASE, 0xFF); GPIOPadConfigSet(GPIO_PORTD_AHB_BASE, 0xFF, GPIO_STRENGTH_8MA, GPIO_PIN_TYPE_STD); } I am seeing how pins D0 and D1 and B6 and B7 show the following scope trace: Where a normal binary squarish wave should be seen, I'm getting two high states, one at 1.85 V and another at the nominal 3.3 (!). I provide the facts below for context: The Launchpad board is brand-new. This behavior is also what I get when using an equivalent Energia sketch. None of the Port B or D pins are connected to anything. Just to the scope probes. This code is compiled on CCSv6 and arm-gcc. Same behavior. The usage of the AHB was just a "what if..." decision. The behavior is just as present when using the default APB. I suppose I'm missing a very big catch in dealing with the ports, but I thought the TivaWare drivers were written precisely to avoid this sort of unexpected and annoying behavior? As a more basic test, I made a program that toggles all bits of Ports B and D after a 2 ms delay. In that case, the scope showed a clean square wave. The ports configuration is identical to what I showed above. Thanks for the attention!