
В предыдущей части занятия мы познакомились с АЦП, с тем, как он реализован в контроллере PIC16 и подключили схему урока. Проект соберём из проекта урока 21 по работе с переходником I2c-LCD с именем I2C_LCD80 и назовём его ADC. Откроем проект в…
В предыдущей части занятия мы познакомились с АЦП, с тем, как он реализован в контроллере PIC16 и подключили схему урока. Проект соберём из проекта урока 21 по работе с переходником I2c-LCD с именем I2C_LCD80 и назовём его ADC. Откроем проект в…
Переходим к изучению следующего модуля контроллера PIC — ADC, я считаю, одного из самых важных модулей. ADC (Analog-to-Digital Converter, в переводе на русский АЦП или аналого-цифровой преобразователь) — это периферия, которая преобразует электрический сигнал на её входе в цифровой код.…
В предыдущей части урока мы познакомились с интерфейсом SOCKET, создали и настроили проект и проверили доступ к сетевому интерфейсу нашего сервера. Теперь займёмся наконец-то непосредственно нашим сервером. В функции задачи добавим несколько локальных переменных, указателей и массив
1 2 3 4 5 6 7 8 9 10 |
static void udp_thread(void *arg) { struct_out *qstruct; struct_sock *arg_sock; int sock, ret; struct sockaddr_in address, remotehost; socklen_t sockaddrsize; arg_sock = (struct_sock*) arg; int buflen = 150; unsigned char recv_buffer[150]; |
Затем…
Немало времени мы изучали с вами интерфейс стека протоколов LWIP — NETCONN, который оказался не таким уж и простым в освоении, но тем не менее с помощью него нам стало гораздо проще решать непростые задачи по программированию передачи данных по…
В предыдущей части занятия мы подключили схему первого устройства и проверили на ней приём и передачу, написав предварительно соответствующий код. Теперь остановим скрипт и терминальную программ и перейдём к проекту для второго контроллера. В качестве второго устройства мы будем использовать…
Попытаемся теперь настроить наш модуль USART в режиме приёма данных, и также в данном уроке мы попробуем соединить по шине USART два контроллера. В прошлом уроке мы изучили, как работает модуль в асинхронном режиме, в том числе в режимах и…
В предыдущей части занятия мы создали проект, настроили модуль RTC и начали готовить запрос на точное мировое время. Вернёмся в функцию ntp_thread и занесём значение системного таймера в переменную, хранящую старое значение
1 2 |
ntpmsg->li_vn_mode = 0x00 | (4<<3) | 0x03; //version: 4, mode: client old_time_count = osKernelSysTick(); |
Отправим запрос на NTP-сервер, так как…
Продолжаем работу с сетью LAN, библиотекой стека протоколов LWIP, её интерфейсом NETCON. Сегодня мы ещё раз поработаем с протоколом транспортного уровня, так сказать, закрепим практически лишний раз наши знания данного протокола, но только целью сегодняшнего занятия мы поставим себе задачу…
В предыдущей части урока мы познакомились с шиной USART, в том числе с организацией шины в контроллере PIC16 и подключили нашу практическую схему. Проект мы сделаем из проекта прошлого урока для ведомого устройства I2C под названием I2C_SLAVE и назовём его USART_TX.…
Сегодня мы начнём изучение программирование очень интересного интерфейса — это интерфейс USART. USART (Universal Synchronous-Asynchronous Receiver-Transmitter (универсальный синхронно-асинхронный приемопередатчик)) — это такая последовательная шина, полнодуплексный обменный интерфейс, который необходим для «общения» между собой двух устройств. Как правило используется для обмена…