Kevin Anderson
/
DataCommFreedom
Using FRDM Board to output data and a clock for communications example.
main.cpp
- Committer:
- askksa12543
- Date:
- 2015-02-26
- Revision:
- 1:4c0c28cc2b2c
- Parent:
- 0:7c7f4b30d64f
- Child:
- 2:11f32d8cfa11
File content as of revision 1:4c0c28cc2b2c:
#include "mbed.h" #include "stdio.h" DigitalOut myled(LED1); // Led on board DigitalOut clock_pin(D8); //send clock pulse DigitalOut serial_out(D7); //serial tx Timer t; //timer for controlling the clock and data skew int msecs; //clock time needed for data transfer int sksecs; //skew time int skew_flag; //skew flag for while loop int main() { //turn on red led to show programming has worked myled = 0; //initialize output pins clock_pin = 0; serial_out = 0; //skew flag skew_flag = 1; //set timers msecs = 2000; sksecs = 1800; //output a clock pulse and data. while(1) { //start timer for clock t.start(); //wait until the timer has reached the set time. while(t.read_ms() < msecs) { //switch data just before clock goes high if(!clock_pin && skew_flag && t.read_ms() > sksecs) { //switch data signal serial_out = !serial_out; skew_flag = 0; } } //stop and reset the timer t.stop(); t.reset(); //switch clock signal clock_pin = !clock_pin; //reset skew flag skew_flag = 1; } } //crc = x^5+x^4+x^2+1