Контроллер управляет отсадочной машиной по производству печенья (
www.tfq.com.ua ) перейти на другой МК уже нельзя , схемы и разводка портов уже сделана , система работает но параметры программ не сохраняет, можно только ввести парметры поработать и после выключения все заново. Мне нужен исходник на Си желательно под CodeVisionAVR . Я раньше делал управление при помощи компьютера (программирую в Delphi) там проблем с сохранениям параметров не было, сохраняй хоть миллион. Вот пример кода на Delphi который отвечает за загрузку и сохранение параметров,
//Сохранение параметров в память
procedure TForm1.SOX;
var
se:SpiEdi;
f:TFileStream;
cFile:String;
begin
cFile:= 'c:\PARAMETR\size' + IntToStr(d) + '.dat'; переменная -файл расширения bat. с названием PARAMETR вместо IntToStr(d) подставляется нужный номер параметра , например PARAMETR 34
se.Spi1:=SpinEdit1.Value; здесь идет присвоения значений находящихся в SpinEdit
se.Spi2:=SpinEdit2.Value;
se.Spi4:=SpinEdit4.Value;
se.Spi6:=SpinEdit6.Value;
se.Spi7:=SpinEdit7.Value;
se.Spi8:=SpinEdit8.Value;
f:=TFileStream.Create(cFile,fmCreate); создаем на диске файл
f.Write(se, sizeof(se)); записываем в созданный файл значение переменных.
f.Free; запись завершена
end; выход из функции
// Загрузка параметров из памяти
procedure TForm1.ZAG;
var
se:SpiEdi;
fs:TFileStream;
cFile:string;
begin
cFile:= 'c:\PARAMETR\size' + IntToStr(d) + '.dat';
if FileExists(cFile )then если есть нужный файл на диске
begin
fs:=TFileStream.Create(cFile, fmOpenRead); то открыть его
fs.Read(se, sizeof(se)); считать значения переменных
fs.Free;
SpinEdit1.Value:=se.Spi1; присвоить их SpinEdit
SpinEdit2.Value:=se.Spi2;
SpinEdit4.Value:=se.Spi4;
SpinEdit6.Value:=se.Spi6;
SpinEdit7.Value:=se.Spi7;
SpinEdit8.Value:=se.Spi8;
end;
Вот что мне нужно, но только для МК и на С!!!
В связи с сокращением затрат на автоматизацию машины, пришлось перейти на МК, но перестроиться после компьютера очень сложно, к тому же я программировал на Delphi, а теперь приходится переходить на С. Надеюсь, что теперь все понятно.