Parallax Propeller C Code Examples
Index Array Variables
This code demonstrates how to initialize and iterate through an integer array in C for the Parallax Propeller microcontroller.
int main() // Main function { int p[] = {1, 2, 3, 5, 7, 11}; // Initialize the array for(int i = 0; i < 6; i++) // Count i from 0 to 5 { print("p[%d] = %d\n", i, p[i]); // Display array element & value pause(500); // 1/2 second pause } }
Scan to Integer
This example shows how to prompt a user for input, scan an integer value, and use it in a loop.
int reps; // Declare variable named reps int main() // Main function { print("Enter reps: "); // User prompt to enter reps scan("%d\n", &reps); // Scan reps user types print("\nCounting to %d\n", reps); // Display value scanned for(int n = 1; n <= reps; n++) // Count to value scanned { print("i = %d\n", n); // Display each step } print("\nDone!"); // Display when done }
Ping Sensor Distance Measurement
This code demonstrates how to use a Ping))) sensor to measure distance in centimeters and display the result.
int main() // Main function { while(1) // Repeat indefinitely { int cmDist = ping_cm(15); // Get cm distance from Ping))) print("cmDist = %d\n", cmDist); // Display distance pause(200); // Wait 1/5 second } }
SD Card – Write and Read Operations
This code demonstrates how to write data to an SD card and then read it back using the Parallax Propeller.
int DO = 22, CLK = 23, DI = 24, CS = 25; // SD card pins on Propeller BOE int main(void) // Main function { sd_mount(DO, CLK, DI, CS); // Mount SD card FILE* fp = fopen("test.txt", "w"); // Open a file for writing fwrite("Testing 123...\n", 1, 15, fp); // Add contents to the file fclose(fp); // Close the file char s[15]; // Buffer for characters fp = fopen("test.txt", "r"); // Reopen file for reading fread(s, 1, 15, fp); // Read 15 characters fclose(fp); // Close the file print("First 15 chars in test.txt:\n"); // Display heading print("%s", s); // Display characters print("\n"); // With a newline at the end }
Multicore Processing with Cog
This code demonstrates how to run a function in a separate cog (core) to blink an LED concurrently.
void blink(); // Forward declaration int main() { // Main function cog_run(blink, 128); // Run blink in other cog } void blink() { // Blink function for other cog while(1) { // Endless loop for other cog high(26); // P26 LED on pause(100); // ...for 0.1 seconds low(26); // P26 LED off pause(100); // ...for 0.1 seconds } }