/* * File: fixed01.c * Author: kubalik * * Created on 23. brezna 2019, 19:43 */ #include "p33EV32GM002.h" #pragma config FNOSC = FRC // pracujeme s FRC oscilatorem 7.37MHz #pragma config OSCIOFNC = ON //OSC2 is general purpose digital I/O pin #pragma config IOL1WAY = ON //Allow Only One reconfiguration pro PPS #pragma config FWDTEN = OFF // WDT and SWDTEN Disabled Watchdog vypnut // tohle chci pouyit take v assemblerovske casti // proto je to globalni signed _Fract polefract[20]; signed _Fract druha ( signed _Fract hodnota ) ; void uvod( signed _Fract bla, signed _Fract ha ); void prvni ( void ) ; void spolem ( void ) ; void uvod02( void ) ; void treti ( void ); signed _Fract ctvrty ( void ); signed _Fract paty ( signed _Fract neco ); void uvodmY(void); void pokrY( int cokoli ); void modulo01(void); /* * */ void main() { signed _Fract a , b ; unsigned _Fract c ; float d, e, f; int g,h,i; d = 0.25 ; // sem si dejte breakpoint uvod( ( signed _Fract ) 0.5 , ( signed _Fract ) 0.25 ) ; a = (_Fract) d ; prvni(); a = (_Fract) d ; prvni(); a = (_Fract) d ; prvni(); // priklad na nacpani hodnot do promennych v assemblerovske casti a = (_Fract) d ; for ( i=0; i<10;i++ ) { polefract[i] = a; // a = a / 2 ; tohle nejde, michame fract a int a = a * ( ( signed _Fract ) 0.5); // tady promennou vzdy delim dvemi - nasobim 0.5 } spolem(); a = (_Fract) d ; uvod02(); a = ctvrty(); a = ctvrty(); a = ctvrty(); a = ctvrty(); a = ctvrty(); uvod02(); a = paty( (_Fract) 0.25 ); a = paty( (_Fract) 0.5 ); a = paty( (_Fract) 0.125); a = paty( (_Fract) 0.25 ); modulo01(); uvodmY(); pokrY(1); pokrY(5); pokrY(15); pokrY(32); pokrY(64); pokrY(128); pokrY(127); pokrY(256); pokrY(255); pokrY(512); pokrY(513); pokrY(511); while(1) { // sem napiseme to, co se v programu dela porad dokolecka asm(" nop " ); asm(" nop " ); asm(" nop " ); asm(" nop " ); } }