В данном случае так:Mishany писал(а):как привильно будет?
Код: Выделить всё
if ((ADMUX & (1<<MUX0)) != 0)Код: Выделить всё
if (ADMUX & (1<<MUX0))В данном случае так:Mishany писал(а):как привильно будет?
Код: Выделить всё
if ((ADMUX & (1<<MUX0)) != 0)Код: Выделить всё
if (ADMUX & (1<<MUX0))Код: Выделить всё
if(!(ADMUX & (1<<MUX0)))Код: Выделить всё
if(ADMUX & (1<<MUX0))Код: Выделить всё
#define is_mux_set (ADMUX & (1<<MUX0))
#define is_mux_clear !(ADMUX & (1<<MUX0))
// где-то дальше
if (is_mux_set)
{
...
}
if (is_mux_clear)
{
...
}
Код: Выделить всё
#include <QtSerialPort/QSerialPortInfo>Код: Выделить всё
#include "qserialportinfo.h".Код: Выделить всё
while (bit_is_set (PIND, 0))
{
if (i==1)
{
i=0;
PORTC ^= (1 << PINC2);
}
asm("nop");
}
Код: Выделить всё
volatile char x;В #include пиши как хочешь, QtSerialPort/QSerialPortInfo или qserialportinfo.h, разницы нет, но лучше писать:FeCat писал(а):Среди файлов, подключаемых директивой #include, встречаются файлы без расширения. К примеруОткрыл QSerialPortInfo в блокноте, а там:Код: Выделить всё
#include <QtSerialPort/QSerialPortInfo>Свидетельствует ли отсутствие расширения, о чём либо?Код: Выделить всё
#include "qserialportinfo.h".
Код: Выделить всё
#include <QtSerialPort/QSerialPortInfo>Код: Выделить всё
inline void usart123(void);
inline void usart123(void){
#asm("nop")
#asm("nop")
#asm("nop")
}Код: Выделить всё
OUT 0x1B,R30
; 0000 00A6
; 0000 00A7
; 0000 00A8 usart123(); // TEST
CALL _usart123
; 0000 00A9
; 0000 00AA
; 0000 00AB test_eeprom[3]=0xAA; Код: Выделить всё
if(send_usart==1){
if(len!=0){ // len так же показывает готовность буффера.
if(len>255){len=0;};
if (!(UCSR1A & (1<<UDRE1))==0){
//UDR1=buff_resuve[index_usart];
UDR1=usart_send_buffer[index_usart];
len--;
index_usart++;
}
}
else{
index_usart=0;
send_usart=0;
Usart_resive=1;
}
}Это всё из-за каши в голове... Наинлайните чего попало... а потом "Памажите, не запихивается!"...pokk писал(а):из за таких функций главный цикл растянулся и хотелось бы всё ужать как-нибудь.
можно конечно в другой файл скинуть и приинклудить но тогда файлов много получается.
Код: Выделить всё
eeprom unsigned char test_eeprom[10];
unsigned char ADC_BUFF[255];
void USART_SEND(unsigned char *c)
{
while ((UCSR1A & (1<<UDRE1))==0);
UDR1=c[0];
}
void main(void){
while{
USART_SEND23(test_eeprom);
USART_SEND23(ADC_BUFF);
}
}
это можно сделать только передавая в функцию еще один параметр, по которому будет определяться тип указателя.pokk писал(а):Есть функция которая предаёт первый элемент массива.
Как сделать так что бы она принимала массивы которые не только расположены в SRAM но и те которые находятся в EEPROM ?
Код: Выделить всё
USART_SEND23((unsigned char*)test_eeprom);