LV4_GRUPA2_TIM010_ZAD3
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include <queue> 00003 00004 using namespace std; 00005 00006 BusOut segments(dp2, dp1, dp28, dp6, dp5, dp27, dp26); 00007 BusOut digit(dp23, dp24, dp25); 00008 DigitalOut decimal_point(dp4); 00009 AnalogIn voltage(dp9); 00010 00011 00012 int predefined_segments[10] = {0x01, 0x4f, 0x12, 0x06, 0x4c, 0x24, 0x20, 0x0f, 0x00, 0x04}; 00013 00014 void display(float tmp) 00015 { 00016 int digits[3] = {(int)(tmp / 100) % 10, (int)(tmp / 10) % 10, (int)(tmp) % 10}; 00017 for(int i = 1; i <= 4; i = i * 2) { 00018 segments = predefined_segments[digits[i / 2]]; 00019 digit = ~i; 00020 decimal_point = (i == 2) ? 0 : 1; 00021 wait_ms(1); 00022 } 00023 } 00024 00025 int main() 00026 { 00027 queue<double> aritmeticke; 00028 double suma = 0; 00029 double srednjaVrijednost; 00030 for (int i = 0; i < 100; i++) 00031 {aritmeticke.push(voltage * 3.3 * 1000); 00032 suma += aritmeticke.back();} 00033 srednjaVrijednost = suma / 100; 00034 while(1) { 00035 suma -= aritmeticke.front(); 00036 aritmeticke.pop(); 00037 aritmeticke.push(voltage * 3.3 * 1000); 00038 suma += aritmeticke.back(); 00039 srednjaVrijednost = suma / 100; 00040 display(srednjaVrijednost); 00041 } 00042 }
Generated on Wed Apr 19 2023 16:48:22 by
1.7.2