示例#1
0
文件: mipsmath.c 项目: 8l/beri
void testmipsmath() {
    float f1 = -1324.123;
    float f2 = 25;
    float f3 = 0.01;
    writeString("Abs: "); writeDigit((int)absf(f1)); writeString(".\n");
    writeString("Sqrt: "); writeDigit((int)sqrtf(f2)); writeString(".\n");
    writeString("Recip: "); writeDigit((int)recipf(f3)); writeString(".\n");
    writeString("Rsqrt: "); writeDigit((int)rsqrtf(f3)); writeString(".\n");
}
示例#2
0
void LCD_Common::printLong(unsigned long value, char padding)
{
    unsigned long den = 1000000000;
    for (byte i = 10; i > 0; i--) {
        byte v = (byte)(value / den);
        value -= v * den;
        den /= 10;
        if (v == 0 && padding && den) {
            if (padding >= i) {
                writeDigit(-1);
            }
            continue;
        }
        padding = 0;
        writeDigit(v);
    }
}
示例#3
0
void LCD_Common::printLong(uint32_t value, int8_t padding)
{
    uint32_t den = 1000000000;
    for (int8_t i = 10; i > 0; i--) {
        byte v = (byte)(value / den);
        value -= v * den;
        den /= 10;
        if (v == 0 && padding && den) {
            if (padding >= i) {
                writeDigit((m_flags & FLAG_PAD_ZERO) ? 0 : -1);
            }
            continue;
        }
        padding = 0;
        writeDigit(v);
    }
}
示例#4
0
int main(void) {
  initDisplay();

  int i = 0;
  while (1) {
    writeDigit(chars[i++], 0);
    _delay_ms(1000);
    if (i == 10) {
      i = 0;
    }
  }

  return 0;
}
示例#5
0
int main (void)
{
  // set PB0 to be output
  pinMode(SER,HIGH);
  pinMode(RCLK,HIGH);
  pinMode(SRCLK,HIGH);

  // loop
  int counter = 0;
  int clock = 0;

  int tmp = counter;
  for(int i=0;i!=4;++i) {
    writeDigit(i,tmp % 10);  
    tmp = tmp / 10;
  }
  clock = (clock + 1) % 50;
  if(clock == 0) {
    counter = counter + 1;
  }
}