Advertisement
bsddeamon

map.c

Jan 21st, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.56 KB | None | 0 0
  1. #include <DS89C4xx.h>
  2. #include <stdio.h>
  3. #define UC unsigned char
  4.  
  5. void map(void (*f)(UC, UC), UC*, UC);
  6. void imprime_element(UC, UC);
  7.  
  8. void main(void) {
  9.   UC tableau[] = {1, 2, 3, 4, 5, 6, 7, 8};
  10.  
  11.   SCON0 = 0x50;
  12.   TMOD |= 0x20;
  13.   TH1 = 0xFF;
  14.   PCON = 0x80;
  15.   TR1 = 1;
  16.   TI_0 = 1;
  17.  
  18.   map(imprime_element, tableau, 8);
  19.   while (1);
  20. }
  21.  
  22. void map(void (*f)(UC, UC), UC *xs, UC n) {
  23.   UC i;
  24.   f = imprime_element;
  25.   for (i = 0; i < n; i++) { f(i, xs[i]); }
  26. }
  27.  
  28. void imprime_element(UC i, UC x) {
  29.   printf("tableau[%d] = %d\n", (int)i, (int)x);
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement