Вс фев 19, 2023 18:47:48
Пн фев 20, 2023 15:14:32
Пн авг 07, 2023 21:21:51
//например, такая команда БЕЗ стартового и стопового байта и суммы
uint8_t SetVol[] =
{
0xFF, 0x06, 0x06, 0x00, 0x00, 0x1A
};
//считает "контрольную сумму" по правилам модуля
uint16_t CheckSum(uint8_t* Cmd, uint8_t len)
{
uint8_t i;
uint16_t tmp;
tmp = 0xFFFF;
for (i = 0; i < len; i++)
{
tmp -= *Cmd;
Cmd++;
}
tmp++;
return tmp;
}
//отправляет пакет команды плееру
void SendDFPlayer(uint8_t* Command)
{
uint8_t count; //число байтов которые нужно передать
uint8_t i;
uint16_t check;
count = *(Command + 1);
check = CheckSum(Command, count);
sendcharUART1(0x7E); //стартовый байт всегда одинаковый
for (i = 0; i < count; i++)
{
sendcharUART1(*Command);
Command++;
}
sendcharUART1(check >> 8); //передаём "контрольную сумму"
sendcharUART1(check);
sendcharUART1(0xEF); //стоповый байт всегда одинаковый
}
.
.
.
.
void main(void)
{
SendDFPlayer(SetVol);
}
Вт авг 08, 2023 17:08:41
Вс фев 25, 2024 06:34:40
#include <mega32.h>
// ЧАСТОТА ТАКТИРОВАНИЯ МК СТРОГО 8 МГЦ!!!!
#include <stdio.h>
#include <delay.h>
void UART_Transmit(int data) //прототип отправки
{
while (!(UCSRA & (1<<UDRE)));
// Передаем данные
UDR = data;
}
void main(void)
DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
// State: Bit7=P Bit6=P Bit5=P Bit4=P Bit3=P Bit2=P Bit1=P Bit0=P
PORTA=(1<<PORTA7) | (1<<PORTA6) | (1<<PORTA5) | (1<<PORTA4) | (1<<PORTA3) | (1<<PORTA2) | (1<<PORTA1) | (1<<PORTA0);
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
UBRRH=0x00;
UBRRL=0x33;
delay_ms(2000); //задержка МК для прохождения инициализации мр3-модуля
UART_Transmit(0x7E);
UART_Transmit(0xFF);
UART_Transmit(0x06);
UART_Transmit(0x0D);
UART_Transmit(0x00);
UART_Transmit(0x00);
UART_Transmit(0x00);
UART_Transmit(0xEF);
while (1)
Сб мар 30, 2024 22:18:19
Пт апр 26, 2024 15:31:25
Пт апр 26, 2024 19:18:13