Приветствую уважаемые форумчане!
В разработке имеется любительский проект включающий в себя MEGA16, LCD1602, кнопки управления и датчики...Код для Меню и Lcd уже написан и поотдельно отлажен. При сборке их воедино наблюдается неработоспособность кода. Прощу знающих подсказать причину этого явления. Код меню написан и отлажен в VS2015. код для LCD Atmel Studio 7.0. код помещен в библиотеку. По моему проблема не в коде, так как компилируется все отлично,а что-то более глобальное....
#define F_CPU 8000000UL
#include <stdio.h>
#include "LСD_includ.h"
#include <avr/io.h>
#include <util/delay.h>
#include <string.h>
#define RS (1<<5)
#define RW (1<<6)
#define E (1<<7)
#define LCD_PORT PORTD
#define RUN_PORT PORTA
#define Function_set_8bit 0x30 // интерфейс 8 бит
#define Function_set_4bit 0x20 // интерфейс 4 бит
#define clear_display 0x01
#define smeshenie_vpravo
#define Function_set 0x20 // две строки 4 бита
#define off_display 0x08
#define kursor_vpravo 0x06 //курсор двигаем вправо
struct Punkt {
int (*Punkt)(void);
int (*Tekparam)(void);
int (*Intparam)(void);
int (*Temperatura)(void);
};
////////////////////////////////
int FElectric(void)
{
puts("ELECTRIC"); return 0;
}
int Electric_TEKparam(void)
{
puts("E_TEKparam");
return 0;
}
int Electric_INTparam(void)
{
puts("E_INTparam"); return 0;
}
int Electric_TEMPERATURAparam(void)
{
puts("E_TEMPERATURAparam"); return 0;
}
///////////////////////////////////
int FGWS(void)
{ write_command(clear_display);
write_command(0x80);
char *GWS={"GWS M3"};
for(char x=0;GWS[x]!='\0';x++)
{
write_data(GWS[x]);
}
return 0;
}
int GWS_TEKparam(void)
{
puts("GWS_TEKparam"); return 0;
}
int GWS_INTparam(void)
{
puts("GWS_INTparam"); return 0;
}
int GWS_TEMPERATURAparam(void)
{
puts("GWS_TEMPERATURAparam"); return 0;
}
//////////////////////////////////////////
int FHWS(void)
{
puts("HWS"); return 0;
}
int HWS_TEKparam(void)
{
puts("HWS_TEKparam"); return 0;
}
int HWS_INTparam(void)
{
puts("HWS_INTparam"); return 0;
}
int HWS_TEMPERATURAparam(void)
{
puts("HWS_TEMPERATURAparam"); return 0;
}
i
}
}
int main(void)
{
DDRA =0xFF;
PORTA =0x00;
DDRD =0xFF;
PORTD =0x00;
struct Punkt Electric = { FElectric, Electric_TEKparam, Electric_INTparam, Electric_TEMPERATURAparam };
struct Punkt GWS = { FGWS, GWS_TEKparam, GWS_INTparam, GWS_TEMPERATURAparam };
struct Punkt HWS = { FHWS, HWS_TEKparam, HWS_INTparam, HWS_TEMPERATURAparam };
int select=0;
init_LCD();
write_command(0x0E);
GWS.Punkt();
}
коды из разных сред разработки
- Реклама
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: коды из разных сред разработки
В майне ретурн добавьте.
Ps. Работоспособность кода определяется руками.
Ps. Работоспособность кода определяется руками.
Docendo discimus
Re: коды из разных сред разработки
Ну и интересно, куда же должно выбросить после main-а???? Когда прога подойдет к последней скобке }
Например, в ARM-подобных перейдет в default_Handler и там и зациклится безвозвратно, до сброса
Например, в ARM-подобных перейдет в default_Handler и там и зациклится безвозвратно, до сброса
Ёшкин кот обормот
- ROMan2947
- Грызет канифоль
- Сообщения: 287
- Зарегистрирован: Сб янв 23, 2016 00:59:59
- Откуда: Чебоксары
Re: коды из разных сред разработки
Проблема решена!Во всем виновата спешка и невнимательность...Спасибо всем,ну и извиняюсь за Ваше потраченное время.

