Easyelectronics.ru

Электроника для всех
Текущее время: 16 фев 2019, 20:44

Часовой пояс: UTC + 5 часов




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Keil странное поведение
СообщениеДобавлено: 22 ноя 2010, 12:53 
Старожил
Аватара пользователя

Зарегистрирован: 09 ноя 2010, 11:05
Сообщения: 1986
Откуда: Казань
Непонятки. Ситуация такая. Есть файл stm32f10x.h и файл w5100.h.

В w5100.h:
#define IMR (COMMON_BASE + 0x0016)
#define RCR (COMMON_BASE + 0x0019)

В stm32f10x.h:
typedef struct
{
__IO uint32_t IMR;
__IO uint32_t EMR;
__IO uint32_t RTSR;
__IO uint32_t FTSR;
__IO uint32_t SWIER;
__IO uint32_t PR;
} EXTI_TypeDef;

typedef struct
{
........
__IO uint16_t RCR;
........
} TIM_TypeDef;

Еще имеется файл w5100.c:

#include <stdio.h>
#include <string.h>

//#include <avr/interrupt.h>
// #include <avr/io.h>

#include "types.h"
//#include "delay.h" // for wait function
#include "socket.h"
#include "w5100.h"



Компилятор ругается мол:
C:\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(827): error: #40: expected an identifier
C:\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: __IO uint32_t IMR;
C:\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ^
C:\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(1150): error: #40: expected an identifier
C:\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: __IO uint16_t RCR;
C:\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h: ^

Как эти файлы могут между собой пересекаться? Нигде инклюда обоих файлов нет. Чудеса или я чего-то не догоняю.

Типа что #define глобальный на весь проект ?

Как эти обьявления развести друг от друга?


Последний раз редактировалось shurup 22 ноя 2010, 13:01, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil странное поведение
СообщениеДобавлено: 22 ноя 2010, 12:58 
Старожил
Аватара пользователя

Зарегистрирован: 09 ноя 2010, 11:05
Сообщения: 1986
Откуда: Казань
Такие же зихера встречал с обьявлением типа BOOL и значений TRUE и FALSE в файлах ну ни как не связанных меж собой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil странное поведение
СообщениеДобавлено: 22 ноя 2010, 13:16 
Старожил

Зарегистрирован: 03 мар 2010, 14:10
Сообщения: 1514
Откуда: Беларусь, Минск
Чудес не бывает, прогоните файл, на котором вы получаете эти ошибки через препроцессор и посмотрите что же вы полчаете. Если таки эти макросы подставляются - значит оба заголовочных файла пересекаются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil странное поведение
СообщениеДобавлено: 22 ноя 2010, 14:09 
Старожил
Аватара пользователя

Зарегистрирован: 09 ноя 2010, 11:05
Сообщения: 1986
Откуда: Казань
да в том-то и дело что весь проект прошерстил уже раз пять прежде чем написать


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil странное поведение
СообщениеДобавлено: 22 ноя 2010, 14:15 
Старожил
Аватара пользователя

Зарегистрирован: 09 ноя 2010, 11:05
Сообщения: 1986
Откуда: Казань
нашел косячек


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil странное поведение
СообщениеДобавлено: 22 ноя 2010, 14:22 
Старожил
Аватара пользователя

Зарегистрирован: 22 апр 2010, 09:08
Сообщения: 623
shurup писал(а):
нашел косячек

поделись с общественностью, чтоб знали, где грабли лежат


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil странное поведение
СообщениеДобавлено: 22 ноя 2010, 14:24 
Старожил
Аватара пользователя

Зарегистрирован: 09 ноя 2010, 11:05
Сообщения: 1986
Откуда: Казань
marvin_yorke писал(а):
shurup писал(а):
нашел косячек

поделись с общественностью, чтоб знали, где грабли лежат

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB