#include <stdint.h>
#include <stdbool.h>
#include "tm4c123gh6pm.h" // Include the header file for the specific microcontroller
void UART0_Init(void);
void UART0_Transmit(char data);
void UART0_TransmitString(const char *str);
int main(void) {
UART0_Init(); // Initialize UART0
const char myString[] = "Hello, World!";
UART0_TransmitString(myString); // Transmit the string
while (1) {
// Main loop
}
return 0;
}
void UART0_Init(void) {
SYSCTL_RCGCUART_R |= 0x01; // Enable UART0
SYSCTL_RCGCGPIO_R |= 0x01; // Enable port A
UART0_CTL_R &= ~0x01; // Disable UART0
UART0_IBRD_R = 104; // 16 MHz / (16 * 9600) = 104.1667
UART0_FBRD_R = 11; // Fraction part, round(0.1667 * 64) = 11
UART0_LCRH_R = (0x3 << 5); // 8-bit, no parity, 1-stop bit
UART0_CTL_R = 0x301; // Enable UART0, TXE, RXE
GPIO_PORTA_AFSEL_R |= 0x03; // Enable alternate functions on PA0 and PA1
GPIO_PORTA_PCTL_R = (GPIO_PORTA_PCTL_R & 0xFFFFFF00) + 0x00000011;
GPIO_PORTA_DEN_R |= 0x03; // Enable digital on PA0 and PA1
}
void UART0_Transmit(char data) {
while ((UART0_FR_R & 0x20) != 0); // Wait until the transmitter is not full
UART0_DR_R = data; // Transmit the character
}
void UART0_TransmitString(const char *str) {
while (*str) {
UART0_Transmit(*str++);
Write, Run & Share C Language code online using OneCompiler's C online compiler for free. It's one of the robust, feature-rich online compilers for C language, running the latest C version which is C18. Getting started with the OneCompiler's C editor is really simple and pretty fast. The editor shows sample boilerplate code when you choose language as 'C' and start coding!
OneCompiler's C online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample C program which takes name as input and print your name with hello.
#include <stdio.h>
int main()
{
char name[50];
printf("Enter name:");
scanf("%s", name);
printf("Hello %s \n" , name );
return 0;
}
C language is one of the most popular general-purpose programming language developed by Dennis Ritchie at Bell laboratories for UNIX operating system. The initial release of C Language was in the year 1972. Most of the desktop operating systems are written in C Language.
When ever you want to perform a set of operations based on a condition if-else is used.
if(conditional-expression) {
// code
} else {
// code
}
You can also use if-else for nested Ifs and if-else-if ladder when multiple conditions are to be performed on a single variable.
Switch is an alternative to if-else-if ladder.
switch(conditional-expression) {
case value1:
// code
break; // optional
case value2:
// code
break; // optional
...
default:
// code to be executed when all the above cases are not matched;
}
For loop is used to iterate a set of statements based on a condition.
for(Initialization; Condition; Increment/decrement){
// code
}
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while(condition) {
// code
}
Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.
do {
// code
} while (condition);
Array is a collection of similar data which is stored in continuous memory addresses. Array values can be fetched using index. Index starts from 0 to size-1.
data-type array-name[size];
data-type array-name[size][size];
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity.
Two types of functions are present in C
Library functions are the in-built functions which are declared in header files like printf(),scanf(),puts(),gets() etc.,
User defined functions are the ones which are written by the programmer based on the requirement.
return_type function_name(parameters);
function_name (parameters)
return_type function_name(parameters) {
//code
}