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

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

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

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

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

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


 
Опции темы
Непрочитано 19.02.2018, 12:36  
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,714
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

По документам - 64к. Но на практике - доступно больше и в том числе "отсутствующие" модули старших чипов этой серии. Но без гарантии работоспособности.
Так что используй 64к.

Цитата:
device id = 0x20036410
STM32 flash size failed, probe inaccurate - assuming 128k flash
flash size = 128kbytes
Device Security Bit Set
target state: halted
Как вариант - программатор не разобрался с объемом памяти и выставил 128к.


В производстве сильно не выгодно делать кучу разных кристаллов. Cерия 101,102,103 на самом деле имеет одну и ту же начинку, а их разделение на серии происходит на этапе тестирования образцов перед маркировкой (лучшее в 103, похуже 102, слабые 101).

Например:
1) В STM32F101 есть USB, но он не документирован.
2) Видел 102(по маркировке), а на самом деле определялись отладчиком как 103. И RAM было действительно больше и она работала.
3) При внимательном наблюдением выясняется, что у sm32f030f4 вместо 16 килобайт в наличии 32 килобайта, у stm32f103c8 вместо 64 килобайт — 128, у stm32f407ve вместо 512 — 1024, хотя в области размера флеша находится значение 512.

Так что лишнее использовать можно, но гарантий нормальной работы тебе никто не даст.
Реклама:

Последний раз редактировалось DanilinSA; 19.02.2018 в 12:54.
DanilinSA вне форума  
Непрочитано 19.02.2018, 13:03  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от sat_art Посмотреть сообщение
Так как я дуину ненавижу,
Не знаю,во всем плохом нужно видеть хорошее. Ардуино готовые модули предоставляет,состыковывать пишеш свое управление и вот все готово. Платы мне лень разводить.
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 24.02.2018, 22:56  
talex1985
Прохожий
 
Регистрация: 19.01.2008
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
talex1985 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Здравствуйте! Подскажите какой оптимальный программатор/отладчик выбрать для начала изучение stm32 и навсякий stm8?
Как этот вариант http://s.aliexpress.com/beIJrMjA?fromSns
или такой за 4.5$
http://kiloom.com.ua/debuggers/stlink
Искал в основном с наличием swo и nRst. Думаю они не помешают при программировании и отладки.
Спасибо!

Последний раз редактировалось talex1985; 25.02.2018 в 02:55.
talex1985 вне форума  
Непрочитано 24.02.2018, 23:21  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

talex1985, не надо такие дорогие! Есть дешевле. На ибее можно еще дешевле найти, но там 50/50, что придет...
__________________
Союз Советских Социалистических Округов Северной Америки
eddy вне форума  
Непрочитано 24.02.2018, 23:43  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Эти китайские залипухи отлично работают. Для питания таргета от дебаггера требуют легкой доработки, иначе завешивают дебаггер при горячем подключении.
Easyrider83 вне форума  
Непрочитано 26.02.2018, 17:24  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Кто пользовал 303-ю серию? Как с усилками и компараторами дела? Имеет смысл переплачивать бакс или даже два? Или лучше взять 103 с ЦАП а усилок снаружи прицепить? Ядро не принципиально.
Сильно не пинайте с СТМами только знакомлюсь, но хочется определиться куда упор делать.
sat_art вне форума  
Непрочитано 27.02.2018, 20:00  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 429
Сказал спасибо: 19
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

И что? По 303-й серии никто не скажет ничего хорошего?
sat_art вне форума  
Непрочитано 27.02.2018, 23:13  
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,714
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

А что сказать? Серия как серия. Абсолютно типовая.
Из особенностей - заточка под обработку "аналога".
Имеет хороший быстрый АЦП и усилители с компараторами. Это позволяет упростить внешнюю обвязку.
У меня валялся не доделанный самопальный осциллограф на этим чипе. Самое то. А выходной ЦАП по моему стандартный ( глянь в доки - я могу ошибаться).

Имеет смысл использовать только для реализации быстрого АЦП. Если быстрый АЦП не нужен - особого смысла в использовании данной серии нет.

Последний раз редактировалось DanilinSA; 27.02.2018 в 23:21.
DanilinSA вне форума  
Непрочитано 01.03.2018, 07:47  
LoKeR_95
Прохожий
 
Регистрация: 10.03.2016
Сообщений: 6
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
LoKeR_95 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Нашел хорошую статью, где читает и отправляет строку, но проблемка есть, мне надо его перекинуть на usart3, т.к. у меня порты usart1 и usart2 заняты, я сам переделал как умею, но не работает может подскажете
Нажмите, чтобы открыть спойлер

Цитата:
#include "stm32f10x.h"

GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;

unsigned char Buffer[512]; // Буфер
int a,b;

void init()
{
//------------------------------------------------------------
// UART
//------------------------------------------------------------
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
//Configure GPIO pin
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; // Tx
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; // Rx
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB, &GPIO_InitStructure);
// Configure UART
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

USART_Init(USART3, &USART_InitStructure);
USART_Cmd(USART3, ENABLE);
}

void delay(unsigned long p)
{
while(p›0){p--;}
}

void send_Uart(USART_TypeDef* USARTx, unsigned char c)
{
while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE)== RESET){}
USART_SendData(USARTx, c);
}

unsigned char getch_Uart(USART_TypeDef* USARTx)
{
while(USART_GetFlagStatus(USARTx,USART_FLAG_RXNE) == RESET){}
return USART_ReceiveData(USARTx);
}

// Отправка строки в USTR
void send_Uart_str(USART_TypeDef* USARTx, unsigned char *s)
{
while (*s != 0)
send_Uart(USARTx, *s++);
}

// выводим число в UART. Максимальная длина числа 6 цифр
void send_int_Uart(USART_TypeDef* USARTx,long c)
{
unsigned long d=10000000;
char temp,flag=0;
if(c‹0)
{
send_Uart(USARTx,'-');
c=-c;
}
do
{
c=c%d;
d=d/10;
temp=c/d;
if(temp!=0)
{
flag=1;
}
if(flag==1)
{
send_Uart(USARTx,temp+'0');
}
}
while(d›1);
}

// Читаем число (в ASCII) с UART. Максимальной длиной в 8 знаков.
// Завершение ввода по вводу любого не цифрового символа
long read_int_uart(USART_TypeDef* USARTx)
{
unsigned char temp=0,index=0,flag=0;
long value=0;
temp=getch_Uart(USARTx);
if(temp=='-')
{
flag=1;
temp=getch_Uart(USARTx);
index++;
}
do
{
index++;
if((47‹temp)&&(temp‹5)
{
value=value*10+temp-48;
}
else
{
index=255;
}
if(index‹7)
{
temp=getch_Uart(USARTx);
}
}while(index‹7);


/* while(index‹7)
{
value=value*10+temp;
if(flag==0)
{
flag=2;
}
else
{
temp=getch_Uart(USARTx);
}
index++;
if((47‹temp)&&(temp‹5)
{
temp=temp-48;
}
else
{
index=255;
}
}*/
if(flag==1)
{
value=-value;
}
return value;
}

// читаем текстовую строку с UART, до ввода ‹enter›. Максимальная длина строки 512Байт
void read_str_uart(USART_TypeDef* USARTx,unsigned char* s)
{
unsigned char temp;
unsigned int index=0;
while(index‹512)
{
temp=getch_Uart(USARTx);
if(temp!=13)
{
*s++=temp;
}
else
{
index=512;
}
index++;
}
}

int main(void)
{

init();

while(1)
{
send_Uart_str(USART3,"alex-exe.ru\n");
send_Uart_str(USART3,"Enter string\n");
read_str_uart(USART3, Buffer);
send_Uart_str(USART3,"Input string - ");
send_Uart_str(USART3, Buffer);
send_Uart(USART3,'\n');

send_Uart_str(USART3,"Enter two numbers separated by a space\n");
a=read_int_uart(USART3);
b=read_int_uart(USART3);
send_Uart_str(USART3,"a + b = ");
send_int_Uart(USART3, a+b);
send_Uart(USART3,'\n');
}
}
LoKeR_95 вне форума  
Непрочитано 01.03.2018, 11:01  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Много очень плохого кода. Не пишите такое и лучше никому не показывайте. Прием данных должен быть либо через DMA (лучше), либо через прерывание (по старинке). Но уж точно не так.
Easyrider83 вне форума  
 

Закладки
Опции темы

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

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, время: 13:19.


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