WIP
попытка дебажить PPS/SQW. работа на SWSerial (8,9) вывод в консоль Serial и на LCD
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
/**
|
||||
* Serial_AdjustBaud
|
||||
*
|
||||
* Функция для вычисления и возврата скорости передачи данных (baud rate) на основе полученного входного пина.
|
||||
*
|
||||
* @param recpin входной пин для определения скорости передачи данных
|
||||
@@ -6,13 +8,17 @@
|
||||
* @return рассчитанная скорость передачи данных на основе измеренной ширины нулевого бита
|
||||
*/
|
||||
|
||||
long detRate(int recpin){
|
||||
long detRate(int recpin) {
|
||||
long baud, x, rate = 10000;
|
||||
|
||||
pinMode(recpin, INPUT); // make sure serial in is a input pin
|
||||
digitalWrite (recpin, HIGH); // pull up enabled just for noise protection
|
||||
delay(100);
|
||||
|
||||
// Цикл для измерения ширины нулевого бита
|
||||
for (int i = 0; i < 15; i++){
|
||||
// Ожидание начала низкого бита
|
||||
while(digitalRead(recpin) == 1)
|
||||
while(digitalRead(recpin) == 1) {}
|
||||
x = pulseIn(recpin, LOW); // Измерение ширины следующего нулевого бита
|
||||
rate = x < rate ? x : rate; // Обновление минимальной ширины нулевого бита
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user