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

 
 
> Keil:отладка SPI
SALOME
сообщение Jun 21 2008, 05:35
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Подскажите, плз, как сделать, чтобы при отладке программы в Кeil uVision3 данные записанные в окне отладчика SPIDAT записывались в память при пошаговой отладке?
Прикрепленное изображение


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Fufelly
сообщение Jun 24 2008, 21:30
Сообщение #2





Группа: Новичок
Сообщений: 4
Регистрация: 24-06-08
Пользователь №: 38 534



Цитата(SALOME @ Jun 21 2008, 09:35) *
Подскажите, плз, как сделать, чтобы при отладке программы в Кeil uVision3 данные записанные в окне отладчика SPIDAT записывались в память при пошаговой отладке?


Просто в консоли написать, например:
SPI_IN=0x12
После очередного обмена, когда txbsy стал нулем именно это значение окажется в SPI0DAT в том самом непослушном окне
Go to the top of the page
 
+Quote Post
SALOME
сообщение Jun 25 2008, 01:56
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 311
Регистрация: 11-06-07
Из: Российская империя, 1861г.
Пользователь №: 28 349



Цитата(Fufelly @ Jun 25 2008, 04:30) *
Просто в консоли написать, например:
SPI_IN=0x12
После очередного обмена, когда txbsy стал нулем именно это значение окажется в SPI0DAT в том самом непослушном окне

Попробовала Вашу методу. У меня она не сработала. Я отлаживаю ADuC845 и "txbsy, SPI0DAT" в нем отсутствуют. Вообщем-то я выхожу из положения путем записи данных от SPI в целевой регистр. Но это уже извраты. Хотелось бы нормально работать с отладчиком.


--------------------
Итак увидел я, что нет ничего лучше, чем наслаждаться человеку делами своими (Еккл) .
Go to the top of the page
 
+Quote Post
Fufelly
сообщение Jul 3 2008, 18:54
Сообщение #4





Группа: Новичок
Сообщений: 4
Регистрация: 24-06-08
Пользователь №: 38 534



Цитата(SALOME @ Jun 25 2008, 05:56) *
Попробовала Вашу методу. У меня она не сработала. Я отлаживаю ADuC845


1. Процессор не был указан и я привел пример для Silabs F023
2. SPI процессора в режиме SLAVE (я так понял) и это ВАЖНО!

Код
#include <aduc845.h>
unsigned char a;
void main(void)
{
    SPICON=0x2b;
    for(;;){
        SPIDAT=0x45;
        for(;! ISPI;);
        a=SPIDAT;       // ставим сюда точку останова
    }
}

3. Запускаем программу на выполнение
4. В консоли пишем
spi_ss=0
spi_in=0x12
spi_ss=1

5. Срабатывает точка останова и в переменную a попадает 0x12, а консольная переменная spi_out принимает значение 0x45, в чем можно убедиться просто набрав в консоли:
spi_out

Следующим этапом должно стать освоение работы с ini файлами.
Go to the top of the page
 
+Quote Post



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

 


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


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