Перейти к содержанию
    

А простую защелку

Как правило плату сначала разводят и изготавливают, а потом начинают думать, как теперь что сделать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость segnetik

Поначалу разбирался с tms320vc5502, там половину линий данных можно под пользовательские нужды задействовать, потому никак не мог предположить что такая засада может быть :) Хранители действительно как-то странно работают здесь... В итоге решил оставить в покое эти Д0-Д15 и использовать преобразователь I2C -> параллельные 8/16 бит. Для поставленной задачи производительности I2C за глаза. Спасибо всем за ответы!!!

Изменено пользователем segnetik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поначалу разбирался с tms320vc5502,

так 5501/2 сделали значительно позже, чем 5509 (5507 это он же, но кастрированный). В нем, 5501/2, видимо и сделали GPIO на данных по пожеланию недовольных от 5509

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спрошу и я. Никак не могу сообразить как заинлайнить функцию. Процессор F2809.

 

В хидере пишу вот такое:

inline void CanWrite(Uint16 CHAN_NUMBER, TCAN_DATA *DATA);

В сишном файле вот такое:

inline void CanWrite(Uint16 CHAN_NUMBER, TCAN_DATA *DATA)
{
    //тут код, который запихивает данные в дата-регистры меэйлбокса
}

Компилятор, соответственно ругается матом, говорит, что function "CanWrite" was declared but never referenced. Что почитать? Керниган и Ритчи по этому поводу молчат. Понимаю, что K&R C не самой последней свежести, хочется поднять свой уровень с быдлокодерства чутка повыше ).

 

PS. Товарищам модерам: может данную тему закрепить как важную сверху, чтобы тут те кто присматривается/начинает спрашивали/читали, дабы каждый раз не плодить новую тему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так в чем проблема? Если функция "never referenced", так стало быть и некуда ее инлайнить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да вроде используется она, в другом месте: есть сишный файлик с основным циклом, там делаю:

#include "CAN.h"
.......
    CanWrite(AnswerTx, &TxData);
.......

CAN.h - это там, где объявлена функция CanWrite

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да вроде используется она, в другом месте

В другом месте компилятор ее, естественно, не видит: тела-то нет, оно закопано в другом C-файле, о котором компилятор не имеет ни малейшего понятия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так, когда я убираю из описания функции ключевое слово inline, то все работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно - тогда это забота линкера, который в курсе всего.

 

Чтобы использовать инлайн функцию, нужно ее разместить так, чтобы компилятор ее видел, т.е. или в самом модуле, или в подключаемом хидере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тело inline-функций должно размещаться в месте объявления.

 

вот это все должно быть написано в хедэре:

 

inline void CanWrite(Uint16 CHAN_NUMBER, TCAN_DATA *DATA)
{
    //тут код, который запихивает данные в дата-регистры меэйлбокса
}

 

дядька Страуструп об этом писал английским по белому.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо!! Теперь ясно. Надо попробоватьУже запробовал - работает. Признаю, про линкер ступил, мог бы и додуматься сам )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребят, очень надеюсь, что тема не умерла. Прошу помощи по TMS320VC5506. Где можно посмотреть любой готовый проект на данном (или хотя бы из серии C55xx) процессоре? Интересует банальный запуск сего камня с загрузкой через USB, т.е. что и как нужно в нем запитать (в частности, питание 1.2 вольта относится ТОЛЬКО к ядру и модулю USBPLL? т.е. управление всеми логическими уровнями (в т.ч. GPIO для выбора boot-loader'а) производится с помощью +3.3 В? какие еще выводы (кроме RESET и вышеупомянутых EMU0,1) нужно повесить на "1" (или "0"))?

Изменено пользователем C-r-o-w

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Частичный перевод даташита на tms320f2808. На "ляпы" перевода не ругайтесь ), не профи в этом, там где стоят символы ???? не уверен в правильности, вставлял для того чтобы вернутся к этим фрагментам позже - искать проще. Переводил для себя, - английский немного подучить, да и на русском проще воспринимается. Не закончил потому что больше нет необходимости в этом. Может и понадобится кому. :laughing:

 

TMS320F2808.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возникла проблема при программировании CAN в TMS320F2812. Решил руководствуясь даташитом настроить CAN и отправить данные -- отправка в шину не идёт. Скачал пример sprc097 ecan_back2back, изменил в нём бит STM=0 -- тот же результат. Может кто-нибудь сталкивался с программированием CAN и есть рабочие проекты, как увидеть хоть что-нибудь на выходе? И ещё вопрос: необходимо ли подключать на шину хотябы одно устройство CAN чтобы пошла передача от модуля CAN в TMS?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уррря. Нашел. View->Memory, откроется окно, а тум уж правой мышкой выбрать. Казалось бы просто, но с наскока не видел пока с каждой кнопочкой не разобрался. Собственно, задавал вопрос только для того, чтобы вдруг не искать долго и нудно то, чего нет и не предусмотрено. Когда сказали есть, стал искать. Спасибо за помощь.

Уважаемый Fedor_spb-2, подскажите, как вам удалось скачать программу из памяти?

У меня в указаном окне все элементы неактивны!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...