Как да внедрим код за задействане на нефиксиран бутон
Добър ден, кажете ми как да напиша код, който да реагира на натискане на бутон?
Има функция, но при натискане на копчето се оказва, че много пъти работи и започват да мигат диодите. Как да направя така, че след натискане на бутона изпълнението да е мигновено, но в същото време след този момент функцията да не работи отново (не е променила отново 1 на 0), а да изчака, докато бутонът бъде освободен, след което да продължи следващия период от време и да завърти докато трябва с бърза честота, докато бутонът бъде натиснат отново? Ако се опитате да направите интервал, той се оказва или дълъг, или като късмет.
UPD1. Отново имате играчка, която никога не изпълнява условие PINB &= 0b00000000. Ако накарате условието да работи, трябва да е нещо подобно
Естествено се счита, че бутонът се затваря до земята и newState просто се „натиска“.
Написах малко грешно, редактирах. Така ли е по правилно? (Току-що започнах да уча C неотдавна) Как можете да реализирате прекъсване, което не зависи от постоянното време, а само от момента на натискане на бутона? Идеята е не да задържите бутона, а с натискане на нефиксиран бутон да можете да включвате и изключвате диодите.
if(PINB &= 0b00000000) в този случай винаги има плюс и операцията е на земно захранване.