реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> LPC2294, Про регистры
Kaiser
сообщение Feb 19 2007, 05:57
Сообщение #16





Группа: Новичок
Сообщений: 14
Регистрация: 11-01-07
Пользователь №: 24 336



Цитата(zltigo @ Feb 17 2007, 12:52) *
Ничего Вы не поняли sad.gif
1. Компилятор это делает за Вас.
2. Память и периферия с точки зрения байтовых и битовых обращений есть две большие разницы и сваливать их в кучу sad.gif


Давайте разберёмся вместе wink.gif.
Я хотел сказать, что модуль CAN в dsPICах 16-разрядный, но тем не менее там есть возможность обратиться к регистрам модуля CAN как к полуслову, так и побитно (это периферия, а не память). А у LPC надо делать по-другому.

А если я чего не понял, ну объясните, пожалуйста, чего я недопонимаю? smile.gif

Сообщение отредактировал Kaiser - Feb 19 2007, 05:59
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Feb 19 2007, 08:31
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(Kaiser @ Feb 17 2007, 08:07) *
Если вы в вопросе подразумевали - есть ли на шине другой приёмник-устройство на 125 кбит/с - то да, есть другое устройство и даже их два, и я их точно не забываю переконфигурировать на соответствущую скорость.

Я бы взял скоп и смотрел, для начала без приемников на шине. Посчитал бы реальную битовую скорость.
И потом не понятно, что вы подразумеваете под "виснет".


Цитата(Kaiser @ Feb 19 2007, 07:57) *
Давайте разберёмся вместе wink.gif.
Я хотел сказать, что модуль CAN в dsPICах 16-разрядный, но тем не менее там есть возможность обратиться к регистрам модуля CAN как к полуслову, так и побитно (это периферия, а не память). А у LPC надо делать по-другому.
А если я чего не понял, ну объясните, пожалуйста, чего я недопонимаю? smile.gif

Ну сделано в dsPIC так, а в LPC так (почему это выгоднее, уже объясняли).
Примите как данность, реализуйте драйвер для этото CAN контроллера с нужным API и забудте, как оно там обращается к этим регистрам.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 19 2007, 10:28
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Kaiser @ Feb 19 2007, 04:57) *
А если я чего не понял, ну объясните, пожалуйста, чего я недопонимаю? smile.gif

Недообъясняете - предыдущее письмо было:
Цитата
Вот у Микрочипа dsPIC 16 разряный, но с помощью компилятора позволяет обращаться отдельно к полуслову (1 байт) и даже применимо побитное обращение.

Всуе поминалаись не относящинся к делу разрядность контролера, компилятор. И вообще пробитное обращение - а что за каким-то хреном в CAN от микрочипа сделаны регистры для установк/сброса и отдельных битов с буфере передачи????


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Kaiser
сообщение Feb 19 2007, 18:33
Сообщение #19





Группа: Новичок
Сообщений: 14
Регистрация: 11-01-07
Пользователь №: 24 336



Цитата(zltigo @ Feb 19 2007, 12:28) *
Всуе поминалаись не относящинся к делу разрядность контролера, компилятор. И вообще пробитное обращение - а что за каким-то хреном в CAN от микрочипа сделаны регистры для установк/сброса и отдельных битов с буфере передачи????


Блин, "ниасилил аффтар твою грамматику":(

Цитата(Andy Mozzhevilov @ Feb 19 2007, 10:31) *
Я бы взял скоп и смотрел, для начала без приемников на шине. Посчитал бы реальную битовую скорость.
И потом не понятно, что вы подразумеваете под "виснет".


Под "виснет" я подразумеваю, что LPC вообще после 16 передач одного и того же сообщения никак не реагирует ни на что. Дальше не изменяя текста программы меняю скорость с 125 на 1000 и всё работает как часы без зависонов и глюков. Завтра попробую без приёмников поюзать, а то уже 4 дня на больничном был, под руками LPC не было.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Feb 20 2007, 07:36
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(Kaiser @ Feb 19 2007, 20:33) *
Под "виснет" я подразумеваю, что LPC вообще после 16 передач одного и того же сообщения никак не реагирует ни на что.

Посмотрите, в какой-нибудь аборт сваливается, наверное.
По LR можно проследить, с какого адреса, ну а дальше ставить там брейкпоинты, и разбираться.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
Kaiser
сообщение Feb 20 2007, 17:50
Сообщение #21





Группа: Новичок
Сообщений: 14
Регистрация: 11-01-07
Пользователь №: 24 336



Цитата(Andy Mozzhevilov @ Feb 20 2007, 09:36) *
Цитата(Kaiser @ Feb 19 2007, 20:33) *

Под "виснет" я подразумеваю, что LPC вообще после 16 передач одного и того же сообщения никак не реагирует ни на что.

Посмотрите, в какой-нибудь аборт сваливается, наверное.
По LR можно проследить, с какого адреса, ну а дальше ставить там брейкпоинты, и разбираться.


Уффф, всё сегодня наконец-то со всем разобрался - и скорости нормально стали переключаться и с регистрами всё получилось пока лучше некуда. Огромное всем спасибо, пока вопросов нет ;-)
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Feb 21 2007, 06:46
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(Kaiser @ Feb 20 2007, 19:50) *
Цитата(Andy Mozzhevilov @ Feb 20 2007, 09:36) *

Цитата(Kaiser @ Feb 19 2007, 20:33) *

Под "виснет" я подразумеваю, что LPC вообще после 16 передач одного и того же сообщения никак не реагирует ни на что.

Посмотрите, в какой-нибудь аборт сваливается, наверное.
По LR можно проследить, с какого адреса, ну а дальше ставить там брейкпоинты, и разбираться.


Уффф, всё сегодня наконец-то со всем разобрался - и скорости нормально стали переключаться и с регистрами всё получилось пока лучше некуда. Огромное всем спасибо, пока вопросов нет ;-)


Отчет в студию!
По крайней мере так принято, даже если он в стиле "сам был дурак".


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
Kaiser
сообщение Feb 21 2007, 20:30
Сообщение #23





Группа: Новичок
Сообщений: 14
Регистрация: 11-01-07
Пользователь №: 24 336



Отчёт.
Насчёт регистров, попробовал как посоветовали - работает!
Хотя немного поковырявшись, заделал новый тип - структурка
typedef struct
{
unsigned long TFI;
unsigned long ID;
unsigned long Data[2];
} CAN_TxObj, *pCAN_TxObj;
и с ней изгаляюсь, получилось коротко и ясно.

Насчёт скоростей, во-первых, у меня монитор шины CAN фирмы IXXAT был настроен на скорость 125CIA, но 1 бит состоял из 16 квантов, а в LPC из 10 квантов - осциллографом посмотрел битовая скорость совпадала, но почему то сообщения передавались некорректно, изменил скорость на просто 125 в IXXAT - всё стало нормально. А во-вторых, у второго приёмника на шине CAN битовая скорость немного отличалась на единицы микросекунд (время 1 бита), и уже глючило. Выставил точно битовую скорость на втором приёмнике, и с ним работа наладилась.
Пока вот так.......
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 13th July 2025 - 14:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01418 секунд с 7
ELECTRONIX ©2004-2016