资源简介
德国MK无刷电调V0.41代码
代码片段和文件信息
/*############################################################################
############################################################################*/
#include “main.h“
//############################################################################
//Init ADC
void ADC_Init(void)
//############################################################################
{
ADCSRA = 0xA6; // Free Run & 1MHZ
ADMUX = 7 | IntRef; // Kanal 7
ADCSRA |= 0x40; // Start
}
//############################################################################
//Strom Analogwerte lesen
void AdConvert(void)
//############################################################################
{
unsigned int i=0;
unsigned char sense;
sense = ADMUX; // Sense-Kanal merken
ADMUX = 0x06 | IntRef; // Kanal 6
SFIOR = 0x00; // Analog Comperator aus
ADCSRA = 0xD3; // Converter ein single
ADCSRA |= 0x10; // Ready l?schen
ADMUX = 0x06 | IntRef; // Kanal 6
ADCSRA |= 0x40; // Start
while (((ADCSRA & 0x10) == 0));
ADMUX = sense; // zurück auf den Sense-Kanal
i = ADCW * 4;
// if(i > 300) i = 300;
Strom = (i + Strom * 7) / 8;
if (Strom_max < Strom) Strom_max = Strom;
ADCSRA = 0x00;
SFIOR = 0x08; // Analog Comperator ein
}
//############################################################################
//Strom Analogwerte lesen
unsigned int MessAD(unsigned char channel)
//############################################################################
{
unsigned char sense;
sense = ADMUX; // Sense-Kanal merken
channel |= IntRef;
ADMUX = channel; // Kanal 6
SFIOR = 0x00; // Analog Comperator aus
ADCSRA = 0xD3; // Converter ein single
ADCSRA |= 0x10; // Ready l?schen
ADMUX = channel; // Kanal 6
ADCSRA |= 0x40; // Start
while (((ADCSRA & 0x10) == 0));
ADMUX = sense; // zurück auf den Sense-Kanal
ADCSRA = 0x00;
SFIOR = 0x08; // Analog Comperator ein
return(ADCW);
}
//############################################################################
//Strom Analogwerte lesen
void FastADConvert(void)
//############################################################################
{
unsigned int i=0;
i = MessAD(6) * 4;
// i = ADCW * 4;
if(i > 200) i = 200;
Strom = i;//(i + Strom * 1) / 2;
if (Strom_max < Strom) Strom_max = Strom;
ADCSRA = 0x00;
SFIOR = 0x08; // Analog Comperator ein
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-10-30 15:06 MK_V0.14代码\
文件 2471 2012-10-30 14:55 MK_V0.14代码\analog.c
文件 126 2012-10-30 14:56 MK_V0.14代码\analog.h
文件 9339 2012-10-30 14:57 MK_V0.14代码\BLMC.c
文件 4391 2012-10-30 14:57 MK_V0.14代码\BLMC.h
文件 25704 2012-10-30 14:58 MK_V0.14代码\main.c
文件 3947 2012-10-30 15:01 MK_V0.14代码\main.h
文件 724 2012-10-30 15:02 MK_V0.14代码\old_macros.h
文件 2410 2012-10-30 15:03 MK_V0.14代码\PPM_Decode.c
文件 1272 2012-10-30 15:03 MK_V0.14代码\PPM_Decode.h
文件 1230 2012-10-30 15:04 MK_V0.14代码\timer0.c
文件 349 2012-10-30 15:04 MK_V0.14代码\timer0.h
文件 2373 2012-10-30 15:04 MK_V0.14代码\twislave.c
文件 740 2012-10-30 15:05 MK_V0.14代码\twislave.h
文件 8977 2012-10-30 15:05 MK_V0.14代码\uart.c
文件 2288 2012-10-30 15:06 MK_V0.14代码\uart.h
- 上一篇:RC522单片机读写卡程序
- 下一篇:s3c2440裸机DS18B20程序
评论
共有 条评论