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

 
 
> Keil не видит extern SFR bit
IF_P
сообщение Jan 2 2009, 14:40
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 2-01-06
Пользователь №: 12 772



51-й проц. Keil 2 V2.36. Когда программа была в одном файле, все работало. Разнес программу в отдельные файлы и поставил описания extern. Со всеми переменными и битами разобрался, а вот одного п/п не видит. Может потому, что SFR бит? Помогите разобраться.
Прикрепленные файлы
Прикрепленный файл  Ttt.rar ( 16.35 килобайт ) Кол-во скачиваний: 30
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
тау
сообщение Jan 2 2009, 22:31
Сообщение #2


.
******

Группа: Участник
Сообщений: 2 424
Регистрация: 25-12-08
Пользователь №: 42 757



Вопщем только
char bdata хххххх позволяет создать битовую переменную
типа sbit yyyy
которую в другом модуле можно связать через extern
и оно работает , но по тем адресам которые линкер придумывает.
А вот
char bdata хххххх=adr; полностью и без варнингов игнорируется все начиная с "="

Так штаа..... Если хочется в одном месте объявить такую переменную то делайте строку sbit ENABLE1 = 0x90; в файл .H
и вставляйте #include там где будете использовать переменную ENABLE1
Go to the top of the page
 
+Quote Post
IF_P
сообщение Jan 3 2009, 14:22
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 2-01-06
Пользователь №: 12 772



Цитата(тау @ Jan 3 2009, 00:31) *
Вопщем только
char bdata хххххх позволяет создать битовую переменную
типа sbit yyyy
которую в другом модуле можно связать через extern
и оно работает , но по тем адресам которые линкер придумывает.
А вот
char bdata хххххх=adr; полностью и без варнингов игнорируется все начиная с "="

Так штаа..... Если хочется в одном месте объявить такую переменную то делайте строку sbit ENABLE1 = 0x90; в файл .H
и вставляйте #include там где будете использовать переменную ENABLE1

Сделел так. Инициализация прошла, а вывода в LCD нет. Смотрел в DEBUG-режимы - все вроде работает. Нужные байты выводятся на свои места. А в железе тишина. Где искать?
Программа ведь рабочая и если все файлы не компилировать отдельно, а подключить по "include" - все ОК

PS:
Попробовал подключить компъютер - тоже не работает.Получается, что проблема в описаниях "extern". Просмотрел все описания. Вроде все корректно.

Сообщение отредактировал IF_P - Jan 3 2009, 14:37
Go to the top of the page
 
+Quote Post



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

 


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


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