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

 
 
> 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
Nemo2000
сообщение Jan 3 2009, 16:43
Сообщение #3


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

Группа: Свой
Сообщений: 79
Регистрация: 8-04-05
Из: Санк-Петербург
Пользователь №: 3 972



Цитата(тау @ Jan 3 2009, 01:31) *
А вот
char bdata хххххх=adr; полностью и без варнингов игнорируется все начиная с "="


не игнорируется. Данная запись означает лишь то, что переменную хххххх проинициализировать значением adr.

Цитата(IF_P @ Jan 3 2009, 17:22) *
Сделел так. Инициализация прошла, а вывода в LCD нет. Смотрел в DEBUG-режимы - все вроде работает. Нужные байты выводятся на свои места. А в железе тишина. Где искать?
Программа ведь рабочая и если все файлы не компилировать отдельно, а подключить по "include" - все ОК


Так вроде или работает? smile.gif Сам бит-то в дебагере меняется? адрес правильный используется?
Вообще говоря делал так же, как и было посоветовано, только что определение бита делал не в отдельном хедере а прямо в том, где все SFR определены и подключал его там, где требуется. Все нормально работало.
Go to the top of the page
 
+Quote Post



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

 


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


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