Üzerinde çalıştığım bir projede 100 KHz'in üzerinde bir kare dalga sinyalini ihtiyaç duyuyorum o yüzden bunu Arduino UNO ve nano üzerinde tone kodu ile üretmeyi denedim ama tone komutu 16 bit integer kullandığı için sayıyı maksimum 65536 yapabiliyorum yani maksimum 65 KHz frekans üretebiliyorum. Bu yüzden de Arduino üzerinde baska bir frekans üretme yoluna ihtiyacım var ve okuyarak zamanınızı ayırdığınız için teşekkürler.
AVR'deki ton üretimi de çoğu şey (sleep() mesela) gibi timer'a bağlı olarak yapılıyormuş. Elinde 16 bit bir timer olduğu için maksimum 65535 Hz ton üretebiliyorsun, bu da 16 bitlik tamsayıların limitidir.
Avr'deki ton üretimi de çoğu şey (sleep() mesela) gibi timer'a bağlı olarak yapılıyormuş. Elinde 16 bit bir timer olduğu için maksimum 65535 Hz ton üretebiliyorsun, bu da 16 bitlik tamsayıların limitidir.
Zamanlayıcı 8 Bit olduğundan overflow için için 256 tick gerekiyor. 16MHz / 256 =~ 62kHz.
ESP32 ya da STM32F1 / F4 kullanarak bu sorunu çözebilirsin ancak. Çünkü UNO'da bir şekilde 100 KHz alsan bile sistemdeki timer fonksiyonların çalışmayacak.
Zamanlayıcı 8 bit olduğundan overflow için için 256 tick gerekiyor. 16MHz / 256 =~ 62khz.
ESP32 ya da STM32F1 / F4 kullanarak bu sorunu çözebilirsin ancak. Çünkü UNO'da bir şekilde 100 khz alsan bile sistemdeki timer fonksiyonların çalışmayacak.