Используйте нестандартное имя и идентификатор для полей, таким образом, а не "имя" имеют "имя _". Браузеры не будут тогда видеть его как являющийся полем имени. Большая часть об этом - то, что можно сделать это некоторым, но не всем полям, и это автоматически заполнит некоторых, но не все поля.
Во встроенном мире ваш компилятор будет иметь некоторый механизм (обычно специфичный для компилятора), который позволяет ему получать доступ к аппаратным регистрам, которые используются для реализации функции последовательного порта либо внутри устройства, либо во внешнем память или устройство с отображением ввода-вывода. Эти определения регистров часто предоставляются производителем инструмента или процессора, и тогда это просто случай записи значений управления конфигурацией в регистры последовательного порта для установки его рабочего режима и последующего чтения данных из регистра буфера приема.
Звучит просто, но в списке рассылки MSP-430 вопросы программирования USART являются наиболее частой отдельной темой.
Много полезной информации о работе с последовательными портами как на ПК, так и на стороне устройства можно найти на сайте Яна Аксельсона в книге Serial Port Complete .
Фактическое взаимодействие с портом будет сильно зависеть от платформы. В * nix большинства вариантов вы открываете устройство с именем вроде / dev / ttya
и используете read ()
, write ()
и ioctl. ()
для чтения, записи и настройки порта.
В Windows вы открываете файл с именем COM1
(или \\. \ COM1
в некоторых вариантах) с функцией CreateFile ()
, а затем настройте его и доведите до конца с помощью таких функций, как SetCommState ()
и структура DCB
. Детали в общих чертах аналогичны тем, что вам нужно делать в * nix, но организованы совершенно иначе. Вы можете найти полное обсуждение настройки и использования COM-портов в MSDN .
На встроенном устройстве вы будете либо напрямую обращаться к аппаратным регистрам UART , либо взаимодействовать с ОСРВ. В любом случае, по сути, нет способа сделать код на конце устройства широко переносимым.
Прежде всего, это очень зависит от используемой вами ОС.
Для типа * nix вы обычно открываете устройство последовательного порта как обычный файл (например, / dev / ttyS0) и запускаете чтение или запись от него. Что касается Windows, я могу посоветовать вам поискать надежную библиотеку, потому что последовательная связь Windows может быть настоящим кошмаром. Более того, могут быть некоторые различия между старыми версиями Windows и никогда.
Лично я использую wxCTB, поскольку я пользователь wxWidgets. Вам следует поискать библиотеку, которая подойдет IDE, которую вы используете.
некоторые бесплатные ссылки;) www.robbayer.com/files/serial-win.pdf www.lookrs232.com/com_port_programming/
В мире Windows вам лучше найти библиотеку, которая делает все волшебство.
Лично я использую Borland C ++, чтобы собрать небольшую утилиту для взаимодействия с моим оборудованием (загрузчики, конфигурации и тестирования), и я очень доволен TurboPower Async Professional Library , которая работает как в Delphi, так и в BCC и имеет открытый исходный код (Mozilla Public License 1.1).
Чтобы расширить ответ Яна, типичный встроенный компилятор c будет иметь директиву компилятора или оператор, параметры которого управляют настройками, такими как скорость передачи, и который связывает UART (или другое оборудование ввода-вывода ) с потоком. Вы можете указать имя потока (если у вас более одного последовательного порта) или использовать значения по умолчанию. Затем вы можете получить доступ к последовательному порту с помощью обычных процедур для символов c, и при получении каждого символа будет прерывание. Итак, ваша процедура прерывания считывает каждый символ и помещает его в буфер.