Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


Ответ
Опции темы
Непрочитано 06.02.2012, 23:32   #1251
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Еще вопрос по UART:
В пиках (библиотеках ихних) была возможность (функция) в юарт массив, например, из 8 байтов послать за раз. Не побитно, как в CTM32.
А потом на ПК я также с помощью ридфайл читал массивом по 8 байт.


А как на стм32 послать массивом в 8 байт? Или можно слать с мк хоть побайтово а читать массивом с пк по сколбко хочешь байт?

Или слать 8 байт поштучно, а после 8 байт посылать Break frame?
Реклама:
pasipaka вне форума   Ответить с цитированием
Непрочитано 06.02.2012, 23:53   #1252
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

pasipaka,
Процедурка с посылкой строки и переносом коретки:
Код:
void uart_print_string(USART_TypeDef * USARTx, char * string, char newline)
{
	while (*string != 0x00){ uart_send_char(USARTx, *string++);}
	if (newline!=0){uart_send_char(USARTx, 13);}
}
Аналогично без переноса коретки:
Код:
void uart_print_string(USART_TypeDef * USARTx, char * string)
{
	while (*string != 0x00) uart_send_char(USARTx, *string++);

}
Easyrider83 вне форума   Ответить с цитированием
Непрочитано 07.02.2012, 00:30   #1253
ДДН
Временная регистрация
 
Регистрация: 20.01.2011
Адрес: Витебск
Сообщений: 38
Сказал спасибо: 6
Сказали Спасибо 11 раз(а) в 11 сообщении(ях)
ДДН на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от ДДН Посмотреть сообщение
Подскажите где в IAR при отладке посмотреть на какой частоте работает stm?
В код прописываю
#define SYSCLK_FREQ_24MHz 24000000
но плата (дискавери) работает и без кварца 8МГц
Всё, разобрался.
RCC-›CR|=RCC_CR_HSEON; для включения генерации от внешнего кварца, а для того чтобы без кварца не работало
RCC-›CR|=RCC_CR_CSSON;
ДДН вне форума   Ответить с цитированием
Непрочитано 07.02.2012, 15:29   #1254
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
pasipaka,
Процедурка с посылкой строки и переносом коретки:
Код:
void uart_print_string(USART_TypeDef * USARTx, char * string, char newline)
{
	while (*string != 0x00){ uart_send_char(USARTx, *string++);}
	if (newline!=0){uart_send_char(USARTx, 13);}
}
Аналогично без переноса коретки:
Код:
void uart_print_string(USART_TypeDef * USARTx, char * string)
{
	while (*string != 0x00) uart_send_char(USARTx, *string++);

}
Спасибо что отозвался!.
По WinZ строкам все ясно.
Но я просто буду массив из 32 байтов (числа измерений) слать один за другим. Вот как мне отделить один массив от другого.
Заранее сорри, я софтвернй i2c, spi, 1wire реализовал, потому протоколы знаю. А вот по сом некогда вчитываться, да и имхо не нужно.

На пике делал так:
mUSBUSARTTxRam((byte*)INBUFF,6); т.е. посылал 6 байтов.
а потом на ПК читал:
ReadFile(handlerr, buf_in, 6, &numbytes_readed, 0); читал эти же 6 байтов.

Т.е. там послал 6, а там принял 6.
А вот на стм32 я шлю побайтово: USART2-›DR=send_byte.
Там что меня смущает: если я буду читать с ПК по 6 байтов: ReadFile(handlerr, buf_in, 6, &numbytes_readed, 0);
то все равно как я из мк их туда пошлю? побайтово. Т.е. я считаю только тогда, когда 6 байтов вышлеться? А если я вышлю 3, точ ничего не считается. Или считается только часть?
Или же нет? и нужно после посыла 6 байтов какой-то разделитель посылать, вроде вот этот массив закончился и дальше идет следующий.
Мне важно или прочитать всб пачку, например 6, или если их там в очереди меньше 6 то вообще лучше ничего.
Т.е. важно чтобы размер пакетов по отправке и приему соварадал.


Может глупо, но надеюсь вопрос ясен.

З.Ы. а вообще причина этого: если слать побайтово и если я с ПК побайтово читаю, то ПК не успевает все вычитывать, т.к. винда читает до около 200раз в секуду. Т.е. размер посылки нужно увеличивать, дабы за 1 раз (из тех 200) винда больше инфы вычитывала. Т.е. пакет увеличивать.
Вот в стм32 один посланный байт - это один пакет или всеравно как. Их можно слать хоть по одному а с ПК читать хоть по тысячи?

Но тогда проблема: напрмер, я успел послать только 3 из 6, а винда толко 3 из массива из 6 считала. И потом у меня весь протокол обмена рушится.
pasipaka вне форума   Ответить с цитированием
Непрочитано 07.02.2012, 15:34   #1255
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

С вин строками все ясно. Видишь 13 (или 0) - конец строки, после нее следующая.

В моем случае можно опр. набор байт как разделитель слать, но это потом по приему парсить нужно. Имхо это излишне.
Ведь думаю, можно же как-то как на пике: слать по х и принимать по х. Тогда у меня все четко: массив из х байт - мой пакет обмена.

Последний раз редактировалось pasipaka; 07.02.2012 в 15:42.
pasipaka вне форума   Ответить с цитированием
Непрочитано 08.02.2012, 13:51   #1256
pasipaka
Прописка
 
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pasipaka на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Тогда еще вопрос чайника:
Решил перепроверить реальную частоту Дискавери.
Написал такой цикл:
while(1)
{
GPIOC-›BSRR = GPIO_BSRR_BR8; //8off
GPIOC-›BSRR = GPIO_BSRR_BS8; //8on
}

Т.е. моргание. Частоту вроде на 24МГц настроил. А осцилограф на выходе
2МГц дает...
А вроде 3 должно:

??main_0:
0x800021c: 0x4815 LDR.N R0, ??DataTable3_12 ; GPIOC_BSRR
0x800021e: 0xf05f 0x7180 MOVS.W R1, #16777216 ; 0x1000000
0x8000222: 0x6001 STR R1, [R0]
GPIOC-›BSRR = GPIO_BSRR_BS8; //8on
0x8000224: 0x4813 LDR.N R0, ??DataTable3_12 ; GPIOC_BSRR
0x8000226: 0xf44f 0x7180 MOV.W R1, #256 ; 0x100
0x800022a: 0x6001 STR R1, [R0]
0x800022c: 0xe7f6 B.N ??main_0 ; 0x800021c
GPIOC-›BSRR = GPIO_BSRR_BS9; //on pc9

7 асм. команд по 1 циклу плюс еще 1 цикл на переход.
2х8=16МГц.

Так на какой частоте работает то?

Если настраиваю на 8МГц,
то мерцание - 666кГц.

Это так должно быть, лыжи не едут или мне на рожу пинять?
pasipaka вне форума   Ответить с цитированием
Непрочитано 08.02.2012, 15:53   #1257
strnikol
Вид на жительство
 
Регистрация: 22.05.2006
Сообщений: 301
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 26 сообщении(ях)
strnikol на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Будет ли работать АЦП и ЦАП от внешнего опорника например в 1 вольт.
Кто нибудь пробовал запустить в таком режиме.
strnikol вне форума   Ответить с цитированием
Непрочитано 09.02.2012, 00:53   #1258
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от pasipaka Посмотреть сообщение
Это так должно быть, лыжи не едут или мне на рожу пенять?
Едут, но немного разъезжаются
Вот так 3 асм команды, 7 тактов
236: *pbo=r1;
0x080004B6 6001 STR r1,[r0,#0x00]
237: *pbo=r2;
0x080004B8 6002 STR r2,[r0,#0x00]
234: while(1)
0x080004BA E7FC B 0x080004B6
=GM= вне форума   Ответить с цитированием
Непрочитано 09.02.2012, 01:17   #1259
L_0_R
Вид на жительство
 
Регистрация: 30.07.2009
Адрес: SPb, RU
Сообщений: 382
Сказал спасибо: 81
Сказали Спасибо 119 раз(а) в 92 сообщении(ях)
L_0_R на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

=GM=, извините новичка, можно поподробнее?
L_0_R вне форума   Ответить с цитированием
Непрочитано 09.02.2012, 16:02   #1260
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от L_0_R Посмотреть сообщение
=GM=, извините новичка, можно поподробнее?
Между асм-строками видны строки на си, куда уж подробнее?
=GM= вне форума   Ответить с цитированием
Ответ

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 21:15.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot