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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Склеивание 2-х имен макросов
Палыч
сообщение Sep 5 2013, 16:09
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Rash @ Sep 5 2013, 19:54) *
не в одном из out файлов не нашёл как преобразуются дефайны

1. Menu -> Project -> Options -> C/C++ Compiler -> Preprocessor
2. Поставить галку "Preprocessor output to file"
3. В подкаталоге List смотреть файл с расширением " .i "
Go to the top of the page
 
+Quote Post
Rash
сообщение Sep 5 2013, 16:21
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



вложил файл, но на выходе я так и не нашёл ничего
Прикрепленные файлы
Прикрепленный файл  cmx618.zip ( 17.37 килобайт ) Кол-во скачиваний: 17
 
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 5 2013, 16:42
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Rash @ Sep 5 2013, 20:21) *
я так и не нашёл ничего

А вот и результат
Цитата
NVIC_InitStructure.NVIC_IRQChannel = ((EXTI_TypeDef *) ((((uint32_t)0x40000000) + 0x00010000) + 0x3C00))3_IRQn;

Всё до банальности просто - EXTI определено в #define.
Выход из создавшегося положения: добавить "буквочек" к этой части идентификатора для уникальности...
Go to the top of the page
 
+Quote Post
Rash
сообщение Sep 6 2013, 07:06
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



да абсолютно верно, есть в дефайнах EXTI. Но вот как теперь сделать такое переопределение для работы склеивающих дефайнов?
просто добавить буковки не совсем просто. Т.к. я хотел по такому принципу сделать переопределения для всей периферии. А это означает перебить все (или многое) библиотеки StdLib или CMSIS. И в последующем перебивать обновления когда они выйдут. В принципе возможно, но как то хлопотно.

спасибо за разъяснения
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 6 2013, 07:11
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Rash @ Sep 6 2013, 11:06) *
Но вот как теперь сделать такое переопределение для работы склеивающих дефайнов?

Ну, если вариант с добавлением буковок не подходит, то можно разбить EXTI на две (три, четыре) части, и "доклеивать" по частям.
Код
#define SYNC_Channel     _Glue(EX, _Glue(TI, _Glue(pin_number, _IRQn)))
Go to the top of the page
 
+Quote Post
Rash
сообщение Sep 6 2013, 07:28
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



о, так работает. Я пробовал разбить EXTI, по другому, оно опять по прежнему склеивалось, с утра ещё мозг видать не включился.
ещё раз спасибо beer.gif
Go to the top of the page
 
+Quote Post

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

 


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


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