#1 2017-07-20 11:19:42

koval
Участник
Зарегистрирован: 2017-07-20
Сообщений: 2

Управление ADF4350 с помощью библиотеки ADF4350-arduino

Здравствуйте!

Тренируюсь с ADF4350 и Arduino Nano.
Как управлять с помощью регистров уже разобрался.

Вот нашел интересную библиотеку
https://github.com/JQIamo/ADF4350-arduino

Только не могу до конца разобраться.

Как инициировать LE,CLK,DATA ?
К каким портам Arduino подключаться ?

#2 2017-07-20 12:46:42

Вячеслав Азаров
Участник
Из Запорожье
Зарегистрирован: 2017-05-25
Сообщений: 410

Re: Управление ADF4350 с помощью библиотеки ADF4350-arduino

koval пишет:

Здравствуйте!

Тренируюсь с ADF4350 и Arduino Nano.
Как управлять с помощью регистров уже разобрался.

Вот нашел интересную библиотеку
https://github.com/JQIamo/ADF4350-arduino

Только не могу до конца разобраться.

Как инициировать LE,CLK,DATA ?
К каким портам Arduino подключаться ?

К SPI.

#3 2017-07-20 13:00:08

koval
Участник
Зарегистрирован: 2017-07-20
Сообщений: 2

Re: Управление ADF4350 с помощью библиотеки ADF4350-arduino

Объясните пожалуйста детально.

Для примера вот код который с регистрами работает.

// Assume long integers are at least 32 bits.
// Park clock and data low when not in use.

// begin customizing here

#define LE_PIN 10
#define CLK_PIN 11
#define DATA_PIN 12

#define REGISTER_5 0x00580005U
#define REGISTER_4 0x00B500FCU
#define REGISTER_3 0x000004B3U
#define REGISTER_2 0x00004E42U
#define REGISTER_1 0x08008011U
#define REGISTER_0 0x00A00000U

// end customizing here

#define DELAY 1

void setup_ports() {
  pinMode(LE_PIN, OUTPUT);
  digitalWrite(LE_PIN, HIGH);

  pinMode(CLK_PIN, OUTPUT);
  pinMode(DATA_PIN, OUTPUT);

  digitalWrite(CLK_PIN, LOW);
  digitalWrite(DATA_PIN, LOW);
}

void write_register(unsigned long value) {
  digitalWrite(LE_PIN, LOW);
  delayMicroseconds(DELAY);
  for (int i=31; i >= 0; i--) {
    if ((value >> i) & 1)
      digitalWrite(DATA_PIN, HIGH);
    else
      digitalWrite(DATA_PIN, LOW);
    delayMicroseconds(DELAY);
    digitalWrite(CLK_PIN, HIGH);
    delayMicroseconds(DELAY);
    digitalWrite(CLK_PIN, LOW);
    delayMicroseconds(DELAY);
  }
  digitalWrite(DATA_PIN, LOW);
  digitalWrite(LE_PIN, HIGH);
  delayMicroseconds(DELAY);
}

void setup() {
  setup_ports();
  delay(1000);
  write_register(REGISTER_5);
  write_register(REGISTER_4);
  write_register(REGISTER_3);
  write_register(REGISTER_2);
  write_register(REGISTER_1);
  write_register(REGISTER_0);
}

void loop() {
}

Тут понятно. 10,11,12 ножки пина соответственно LE,CLK,DATA.

Как библиотеку к SPI подключать? Все три  LE,CLK,DATA к одному SPI ? Не пойму.



Вячеслав Азаров пишет:
koval пишет:

Здравствуйте!

Тренируюсь с ADF4350 и Arduino Nano.
Как управлять с помощью регистров уже разобрался.

Вот нашел интересную библиотеку
https://github.com/JQIamo/ADF4350-arduino

Только не могу до конца разобраться.

Как инициировать LE,CLK,DATA ?
К каким портам Arduino подключаться ?

К SPI.

#4 2017-07-20 13:32:30

Вячеслав Азаров
Участник
Из Запорожье
Зарегистрирован: 2017-05-25
Сообщений: 410

Re: Управление ADF4350 с помощью библиотеки ADF4350-arduino

koval пишет:

Объясните пожалуйста детально.

Для примера вот код который с регистрами работает.

Тут понятно. 10,11,12 ножки пина соответственно LE,CLK,DATA.

Как библиотеку к SPI подключать? Все три  LE,CLK,DATA к одному SPI ? Не пойму.

Посмотрите в даташит Меги и схему Наны куда выходят сигналы SPI. А pin для LE выберите как вам удобно в вашем проекте. Не мне же за вас работу работать.  smile

Редактировался Вячеслав Азаров (2017-07-20 14:02:49)

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела