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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> w5100 + STM32- не корректно принимаю данные по SPI
Метценгерштейн
сообщение Feb 3 2013, 15:41
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



не знаю, что остается) Мусор какой-то. И благодаря ему, работать начинает только от генератора MSI на 2 МГц.
в общем, факт налицо. от 32 МГц не хочет работать.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 3 2013, 16:25
Сообщение #17


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Метценгерштейн @ Feb 3 2013, 21:41) *
не знаю, что остается) Мусор какой-то.

Ага, и этот мусор случайно прыгает на __iar_program_start()? Так не бывает. Ищите, где у вас другой стартап.
Цитата(Метценгерштейн @ Feb 3 2013, 21:41) *
И благодаря ему, работать начинает только от генератора MSI на 2 МГц.

То есть, скорость SPI у вас меняется, но UART при этом работает на оной и той же скорости? (Вы же выводите в UART переданный и принятый байты).


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 3 2013, 19:04
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



UART использует стандартные библиотеки, где в зависимости от частоты шины - они сами подгоняют скорости как надо. Вроде так было.

Скачайте проект, найдите там еще один файл инициализации. Обычно начало старта и есть нулевой адрес флеша. Просто пока попадает на него.

Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 4 2013, 03:20
Сообщение #19


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Дело в том, что ваша функция main() вызывается из функции __iar_program_start(). Которая, в свою очередь, вызывается из стартапа (после SystemInit). То есть, выкинув стартап, вы не просто отменяете вызов инициализации (SystemInit()), а совсем исключаете возможность выполнения программы.
Проект я качал, там действительно только один стартап. Но, может быть, другой стартап лежит в другой папке, и поэтому не попал в архив? Или этот один стартап включён дважды.
(У меня нет IAR-а, я не могу проверить ваш проект.)


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 4 2013, 08:36
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



этот файл включен только в проект. больше нигде его нет. в коде программы я его не использую. Тут, в общем, какой-то глюк. Как с SPI, так и с работой без этого стартапа.
Go to the top of the page
 
+Quote Post
Метценгерштейн
сообщение Feb 9 2013, 19:18
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



в общем, пришел к такому выводу:
при настройке в утилите тактовой частоты PCLK2 на 8 МГц через делитель APB2 prescaler, при этом сама частота шины = 32 МГц, вне зависимости от кварца или RC, то все работает.
Так же поднимал частоту системную до 12 МГц- все работало.
Получается, что наш SPI не хочет тактироваться от частот выше 12 МГц (а при частоте шины 32 МГц больше 8 МГц и не выставить)

А где в даташите это сказано?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 15 2013, 15:27
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Сейчас у меня нет под рукой СТМ и ИАР не могу проверить, потому извиняюсь могу глупостей наговоритьsm.gif

1. у СТМ32 есть настройка максимальной частоты выходных ножек. По умолчанию там минимум стоит, поглядите может для СПИ эта настройка тоже имеет смысл...
2. У иар в среде есть свой мини стартап, то есть без стартап файла он сам добавить в вектор прерывание переход на маин, это может и быть вашим вторым стартапом, так проект и работает.

Еще раз оговорюсь могу обмануть, я уже пересел с ИАР на кеил, но что-то смутно помнится, что дело было так...
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 18 2013, 15:33
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



В теме откуда я пришел, эта проблема решилась выставлением максимальной частоты работы порта, так что для СПИ эта настройка тоже имеет смысл.
Go to the top of the page
 
+Quote Post

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

 


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


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