Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

line 9    CAN0CTL0 = CAN0CTL0 | 0x01;

line 10  }

line 11  CAN0BTR0 = 0xC1; /*установка бит синхронизации CAN*/

line 12  CAN0BTR1 = 0xF7;

line 13  CANOCTL0 = CAN0CTL0 & 0xFE;/*выход CAN из режима инициализации*/

line 14  while ((CAN0CTL0 & 0x10) == 0){} /*ожидание синхронизации*/

line 15  CAN0TBEL = 0x01; /*выбор передающего буфера 0 */

line 16  /*установка передающего буфера */

line 17  CAN0TXFG0 = 0xFF;

line 18  CAN0TXFG1 = 0xFF;

line 19  CAN0TXFG2 = 0xFF;

line 20  CAN0TXFG3 = 0xFE; /*RTR = 0 для кадра данных */

line 21  CAN0TXFG4 = 0x01; /*сообщение */

line 22  CAN0TXFG5 = 0x02;

line 23  CAN0TXFG6 = 0x03;

line 24  CAN0TXFG7 = 0x04;

line 25  CAN0TXFG8 = 0x05;

line 26  CAN0TXFG9 = 0x06;

line 27  CAN0TXFGA = 0x07;

line 28  CAN0TXFGB = 0x08;

line 29  CAN0TXFGC = 0x08; /*спецификатор длины данных */

line 30  CAN0TXFGD = 0x00;

line 31  while(1)

line 32  {

line 33   while ((CAN0TFLG & 0x01) == 0) /*ожидание флага окончания передачи */

line 34    CAN0TFLG = CAN0TFLG | 0x01; /*очистка флага */

line 35  }

line36  } /* конец основной программы */

/********************************************************************/

Команда на строке 3 выключает функцию сторожевого таймера COP контроллера. Команды на строках от 4 до 20 инициализируют контроллер msCAN12. Сначала, команда по строке 5 включает CAN контроллер. Команда на строке 6 выключает режим LISTEN, используемый для контроллеров, которые только прослушивают данные сетевого трафика, не передавая никаких сообщения. Команды в строках с 7 по 10 используются, чтобы перевести контроллер CAN в режим инициализации. Сразу после инициализации, используются команды на строках 11 и 12, чтобы установить бит синхронизации CAN. Команда на строке 13 подготавливает контроллер CAN к работе с сетевым трафиком. Команда на строке 14 необходима, чтобы синхронизировать контроллер CAN с сетевым трафиком. Команда на строке 15 выбирает передающий буфер 0 для передачи информации, а команды на строках с 16-й по 30-ю готовят содержимое для передающего буфера. Отметим, что мы установили флаги SRR и IDE, выбрав тем самым расширенный формат, и, кроме того, очистили бит RTR, показав, что текущий буфер загружен кадром данных. Начиная со строки 31 до конца программы продолжается передача данных в сеть.

Ниже приведена программа, которая определяет работу второго МК, показанного в нижней части рис. 9.32.

/**********************************************************************/

/* CANTWO.C Эта программа запускает плату 68HC12 и связывает ее с другой */

/* платой 68HC12 с помощью контроллера CAN                            */

/* Авторы: Даниэль Пак и Стив Барретт                                 */

/* Дата создания: 29 июля 2004                                        */

/**********************************************************************/

line 0  #include "68HC12DP256.h"

line 1  void main()

line 2  {

line 3   COPCTL=0x00; /*Выключить сторожевой таймер COP */

line 4                /*установить модуль CAN */

line 5   CAN0CTL1 = CAN0CTL1 | 0x80; /*разрешение для модуля CAN */

line 6   CAN0CTL1 = CAN0CTL1 & 0xEF; /*выключение режима LISTEN */

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных