Exemple #1
0
        public void timerCount(uint cycles)
        {
            RegArrayHandler regArrayHandler = new RegArrayHandler();

            if ((regArrayHandler.getRegArray(0x81) & 0b00001000) == 0)
            {
                if ((regArrayHandler.getRegArray(0x81) & 0b00100000) == 0)
                {
                    Console.WriteLine("Timer mit Befehlstakt erhöht!");
                    if ((DataStorage.prescalerCount + cycles) >= DataStorage.prescalerValue)
                    {
                        if (regArrayHandler.getRegArray(0x01) == 255)
                        {
                            regArrayHandler.setRegArray(0x0B, regArrayHandler.getRegArray(0x0B) | 0b00000100);
                            //triggerInterrupt();
                            regArrayHandler.setRegArray(0x01, 0);
                            DataStorage.prescalerCount = 0;
                        }
                        else
                        {
                            regArrayHandler.setRegArray(0x01, (regArrayHandler.getRegArray(0x01) + 1));
                            DataStorage.prescalerCount = 0;
                        }
                    }
                    else
                    {
                        DataStorage.prescalerCount = DataStorage.prescalerCount + (int)cycles;
                    }
                }