интерфейс pcf7991at к ардуино
Я хотел попробовать связать pcf7991at с arduino, я собрал плату, содержащую pcf7991at, следуя схеме, показанной в техническом описании. Я видел, что частота 125 кГц должна быть на выводе CLK pcf, поэтому я спрашиваю вас, можно ли использовать внутренний таймер Arduino, чтобы попытаться проверить, работает ли pcf7991at.
2 ответа
Ардуино действительно может генерировать сигнал частотой 125 кГц. В этом примере генерируется сигнал частотой 125 кГц (рабочий цикл 50 %) на цифровом выводе 3 платы Arduino Uno/Nano с использованием таймера 2.
const int pulsePin = 3; // обратите внимание на контакт OC2B D3 ! ! !
volatile uint32_t pulseCount = 0;
void setup(){
pinMode(pulsePin, OUTPUT);
cli() ;
TCCR2A = 0;
TCCR2B = 0;
TCNT2 = 0;
OCR2A = 127 ; // f = 125 кГц при тактовой частоте 16 МГц
OCR2B = (float) OCR2A * 0.5 ;
TCCR2A |= (1 << WGM21) | (1 << WGM20) | (1 << COM2B1 ) ; // Режим 7 (быстрый ШИМ)
TCCR2B |= (1 << CS20) | (1 << WGM22) ; // пс/1 режим 7
sei() ;
}
void loop() {
}
и как я могу проверить повышение таймера? Мне нужно прочитать определенный регистр, чтобы увидеть, поднялся ли таймер и в конечном итоге установлен на 0 после?, @Gastone Krankenwagen
Связь между MCU (Arduino) и микросхемой (PCF7991AT) может работать на любой частоте (например, SPI или I2C). Частота антенны 125 кГц генерируется внутри микросхемы. Но вам нужно установить делитель источника тактирования (ваш кристалл подключен к ИС)
https://datasheet.lcsc.com/lcsc/2208260930_NXP-Semicon-PCF7991AT -1081-M_C5143533.pdf
См. стр. 7 –> 8.4 краткое объяснение стр. 13 –> установить регистр
Надеюсь, это поможет!
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
- Не удается снова загрузиться после смены платы
- Генерация стабильной частоты
- В чем разница между ATMEGA32 и ATMEGA328?
- Arduino UNO для получения подписи чипа ATmega328P-PU
- Последовательная связь ESP8266 с ATMega328P
- Каково время нарастания выходного вывода atmega328, изменяющего свое состояние?
- Нужна помощь в программировании ардуино на ассемблере
Вы спрашиваете, может ли Arduino выводить сигнал 125 кГц на один из своих контактов? ...о какой схеме вы говорите?, @jsotola