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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 13.08.2011, 12:29  
dmitriycor
Частый гость
 
Регистрация: 05.03.2011
Сообщений: 36
Сказал спасибо: 7
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
dmitriycor на пути к лучшему
По умолчанию Мой STM32 Любые программы:) По половине разряда ИП шлет:)

//Не доверяйте этому uC как только вы расслабитесь он поймает вас в сети непонятной логики и частот тактирования и если вы считаете что глупы это не так просто довертись интуиции
#include "stm32f10x.h"
#include "stm32f10x_conf.h"

/*#define CR2_SWSTART_Set ((uint32_t)0x00400000) */

USART_InitTypeDef USART_InitStructure;
ADC_InitTypeDef ADC_InitStructure;

void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);

void RCC_Configuration(void)
{

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);

RCC_ADCCLKConfig(RCC_PCLK2_Div2); //эта строчка говорит сама за себя деление SYSCLK на 2 для АЦП1 запомним что не надо превышать 12 МГц

RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOC, ENABLE); // Включение тактирования АЦП1|порта С
}

void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE); // USART2 на другие ножки

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOD, &GPIO_InitStructure);

GPIO_Init(GPIOD, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOD, &GPIO_InitStructure);

GPIO_Init(GPIOD, &GPIO_InitStructure);

/* Configure PC.04 (ADC Channel14) as analog input -------------------------*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}

void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}





int main(void)
{ uint16_t Data=0x79;
__IO uint16_t ADCConvertedValue;

RCC_Configuration();

NVIC_Configuration();

GPIO_Configuration();



USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_2;
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(USART2, &USART_InitStructure);

USART_Cmd(USART2, ENABLE);



/* ADC1 Configuration ------------------------------------------------------*/
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &ADC_InitStructure);


ADC_RegularChannelConfig(ADC1, ADC_Channel_14, 1, ADC_SampleTime_13Cycles5);

/* Enable ADC1 */
ADC_Cmd(ADC1, ENABLE);

ADC_ResetCalibration(ADC1);

while(ADC_GetResetCalibrationStatus(ADC1));

ADC_StartCalibration(ADC1);

while(ADC_GetCalibrationStatus(ADC1));


ADC_SoftwareStartConvCmd(ADC1, ENABLE);


while (1)
{ /* if ((ADC1-›CR2 & CR2_SWSTART_Set) != (uint32_t)RESET)
{

} */
if (ADC_GetConversionValue(ADC1)‹0x07D0)
{ USART_SendData(USART2, Data);
}

}
}
Реклама:
dmitriycor вне форума  
Сказали "Спасибо" dmitriycor
warel (28.06.2019)
Непрочитано 13.08.2011, 12:37  
dmitriycor
Частый гость
 
Регистрация: 05.03.2011
Сообщений: 36
Сказал спасибо: 7
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
dmitriycor на пути к лучшему
По умолчанию Re: Мой STM32 Любые программы:) По половине разряда ИП шлет:)

Вот такая простая программа для 105-107 хочу критики много много критики
dmitriycor вне форума  
Сказали "Спасибо" dmitriycor
warel (28.06.2019)
Непрочитано 13.08.2011, 12:57  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Мой STM32 Любые программы:) По половине разряда ИП шлет:)

Не будет критики... никакой...
Никто просто не станет ломать глаза в изобилии букв...
Пользуйтесь обрамлением code при вставке исходника в текст, а лучше приложить архив проекта... он у вас совсем не "военный"...
st_1 вне форума  
Сказали "Спасибо" st_1
warel (28.06.2019)
Непрочитано 13.08.2011, 13:11  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Мой STM32 Любые программы:) По половине разряда ИП шлет:)

И получится в результате 16кБ кода, когда хватило бы 1кб. Такие они, библиотеки стандартной переферии ST.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (28.06.2019)
 

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

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

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

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


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


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