?? sevenseg.c
字號(hào):
#include <avr/io.h>#include <avr/interrupt.h>#include "font.h"#include "config.h"#include "scheduler.h"volatile unsigned char ddata[8];volatile unsigned char sdisp = 0;volatile unsigned char putCharPos = 0;taskid_t sevenseg;void SevenSegRefresh(void){ sdisp++; DISP_PORT_SEG = 0; DISP_PORT_DISP = (1<<(sdisp & 7)); DISP_PORT_SEG = ddata[(sdisp & 7)];}void SevenSegInit(void){ DISP_DDR_DISP = 0xFF; DISP_DDR_SEG = 0xFF; sevenseg = setInterval(SevenSegRefresh,120);}void SevenSegPutChar(char c){ if (c=='\n') { putCharPos = 0; } else { ddata[putCharPos] = chars[(unsigned short int)c]; putCharPos = (putCharPos<7)?putCharPos+1:0; } }void SevenSegPutStr(char * str){ while (*str) SevenSegPutChar(*str++); }void SevenSegPutStrHex(unsigned int num, int len){ char str[9]; char *ptr = str + 8; *ptr = '\0'; while (len) { ptr --; len --; if ((num & 0xF) >= 10) *ptr = 'A' + (num & 0xF) - 10; else *ptr = '0' + (num & 0xF); num >>= 4; } SevenSegPutStr(ptr);}void SevenSegPutStrDec(unsigned int num, int len){ unsigned int i,j,temp; char digit; for(i=len;i>=1;i--) { temp=1; for(j=1;j<=i-1;j++) temp *= 10; digit='0'; while (num>=temp) { num -=temp; digit++; } SevenSegPutChar(digit); }}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -