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

 
 
> C8051F321 и Keil
serenya
сообщение Oct 31 2009, 20:18
Сообщение #1





Группа: Участник
Сообщений: 7
Регистрация: 31-10-09
Пользователь №: 53 339



Здравствуйте, имею проект на ASMe для C8051F321, раньше писал его в IDE от Silabs, но из-за ограничения кода перешел на Keil. Пока не было кейла написал 2 куска программы и отладил их отдельно, все работало. Вчера собрал все в одну кучу, с трудом скампилировал,

Program Size: data=179.0 xdata=0 const=0 code=2729
"DAC" - 0 Error(s), 0 Warning(s).

но результат разочаровал. а именно: в проекте имеется LCD 20*2, рабочая подпрограмма работы с ним многократно проверенная (автор Конышев Ю.А.). В ней имеются массивы данных, обращение к ним через DPTR:

LCD_StringLeft:
push ACC
mov A,#lcdAddrLeftStr

lcall LCD_AddrDDRAM

push 00h
mov R0,#lcdLimitStr

clr A
movc A,@A+DPTR
cjne A,#eos,$+5
SJMP $+7

lcall LCD_WriteCData
inc DPTR
djnz R0,$-10

pop 00h
pop ACC
ret

Подпрограмма выводит строку:

lcd_str4: db 'ERROR!!! делаю сброс'

Команда

movc A,@A+DPTR

первый раз получает правильный байт из массива, все последующие байты берутся из области вне массива и имеют значение FF.

Кто знает подскажите как это забороть, сам я не знаю даже в каком направлении копать.
Go to the top of the page
 
+Quote Post



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

 


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


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