O

Teğmen
17 Aralık 2016
Tarihinde Katıldı
Takip Ettikleri
0 üye
Görüntülenme (?)
34 (Bu ay: 0)
Gönderiler Hakkında
O
7 yıl
STM32F103 Nucleo ile Bluetooth \u0026 Uart Bağlantısı
Merhaba arkadaşlar, bir tasarım ödevim var. STM32 Kullanarak BT bağlantısı ile DC motor kontrol edeceğim. Keil MDK V5. ve CubeMx kullanıyorum.

Öncelikle Bluetooth bağlantısı kullanarak Bluetooth modülüne bir dizi göndermeyi ve bu diziyi bilgisayardaki seri port okuma programlarından okumayı hedefledim.

USART ayarlarını ve pin bağlantılarını CubeMx üzerinden ayarladıktan sonra Keil'da küçük bir program yazdım. Buna göre STM32 Nucleo'nun USART2'sini kullanıp, A2 (Tx) ve A3 (Rx) pinleri ile haberleşme yapacaktım. Kodda bunları ayarladım.

Tabii ki Bluetooth bağlantılarını ayarladım. HC06 modülü kullanıyorum. 5V ile besliyorum. Modülün Tx'ine işlemcinin Rx'ini, Rx'ine ise işlemcinin Tx'ini bağladım. Ancak tuhaf bir hatayla karşılaştım: Bluetooth'tan veri okuyamadım ve STM'in bağlandığı porttan veri okuyabildiğimi gördüm. Neyi kaçırıyorum? Bağlantılarımı defalarca kontrol ettim. Acaba komutum Rx ve Tx pinlerini kullanmamı sağlamıyor mu?

Keil main Kodu:

void SystemClock_Config(void);


int main(void)
{

HAL_Init();


SystemClock_Config();




MX_GPIO_Init();
MX_USART2_UART_Init();



while (1)
{
if(HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13)==0){
char mes[] = "hello\r\n";
HAL_UART_Transmit(&huart2, (uint8_t*)mes, strlen(mes), 1000);
HAL_Delay(1000);
}
else
{
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
HAL_Delay(100);
}
}


}

Keil USART Kodu:

#include "usart.h"

#include "gpio.h"


UART_HandleTypeDef huart2;



void MX_USART2_UART_Init(void)
{

huart2.Instance = USART2;
huart2.Init.BaudRate = 9600;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = UART_STOPBITS_1;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart2) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}

}

void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
{

GPIO_InitTypeDef GPIO_InitStruct;
if(uartHandle->Instance==USART2)
{

__HAL_RCC_USART2_CLK_ENABLE();

/**USART2 GPIO Configuration
PA2 ------> USART2_TX
PA3 ------> USART2_RX
*/
GPIO_InitStruct.Pin = USART_TX_Pin|USART_RX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

}
}

void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
{

if(uartHandle->Instance==USART2)
{

__HAL_RCC_USART2_CLK_DISABLE();

/**USART2 GPIO Configuration
PA2 ------> USART2_TX
PA3 ------> USART2_RX
*/
HAL_GPIO_DeInit(GPIOA, USART_TX_Pin|USART_RX_Pin);


}
}

Kolay gelsin, iyi forumlar...

(kod için kullandığım kaynak:https://www.dmcinfo.com/latest-thinking/blog/id/9372/nucleo-uart-tutorial)
O
9 yıl
Denetleyici ile Ampül Yakma
Merhaba arkadaşlar. MSP430G2553 kullanıyorum. Ses şiddetine göre ampüllerin yanıp sönmesi lazım. Projeyi LED ile hallettim fakat ampulle yapmam lazım. Ampulleri de DC ile yakmak istiyorum. Nasıl yapabileceğim hakkında bir bilginiz var mı?

https://youtu.be/gKgWqvoo1q0

Not: Sanırım tristör-triyak DC tetikleme devresi kurmam lazım. Ama devreyi kuramadım.
O
9 yıl
MSP430 Projem için yardım
Merhaba arkadaşlar. Mikroişlemciler dersimde bir proje ödevim var ancak tıkandım kaldım.

Projem şöyle; ses şiddetine göre 6 farklı ampulü yakıp söndürebilecek bir kod yazıp, devreyi de PCB'ye basacağım.

Aslında bir iki kodum var ancak ADC'den veri okuma kısmını bir türlü aşamadım. Mikrofon önyükseltici kullanıyorum; çalışıyor da. Ancak çıkışı ADC'ye bağladığımda hiçbir veri elde edmiyorum ve ADC10MEM'de 0x03FF değerini görüyorum, sonra da kod tıkanıyor.

Var mı yardım edebilecek birileri?
O
9 yıl
Bedava Altın Gelmedi
Arkadaşlar merhaba. Oyuna yeni üye olduğumuzda hesaba direk gelen 300 altın hesabıma gelmedi. Şifre değiştirince gelen 300 altını ve telefon tanımlayınca gelen 100 altını aldım ancak bedava o 300 altını da istiyorum :)

Sorun ne olmuş olabilir?
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.