Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define BUFLEN 1024
- static char buffer[BUFLEN];
- static char *rbp = buffer;
- static volatile int need_data = 1024;
- static char *wbp = buffer;
- IRQ-send-to-PWM {
- send-to-PWM(*rbp++);
- need_data++;
- if ( rbp == buffer + BUFLEN )
- rbp = buffer;
- }
- main()
- {
- while()
- {
- volatile int fnf;
- cli(); /* disable interrupts *.
- fnf = need_data;
- sei(); /* resume interrupts */
- if ( fnf > 512 ) {
- .. write 512 bytes, move wbp forward 512 bytes, roll it over
- }
- cli(); /* disable interrupts *.
- need_data -= 512;
- sei(); /* resume interrupts */
- }
- }
Add Comment
Please, Sign In to add comment