[LinuxFocus-icon]
<--  | վ���ͼ  | ����  | ����

���� | �����ڿ� | ���� | ����LF
This document is available in: English  ChineseGB  Francais  

[Photo of the Author]
by Guido Socher (homepage)

��������:

Guidoϲ��LINUX����Ϊ���ڿ����Լ���Ӳ����˵����ȷʵ��һ���ܺõ�ϵͳ��


Ŀ¼:

 

һ������ֱ����Դ--�ڶ�����:����

[Illustration]

ÕªÒª:

�����й����ֵ�Դϵ�еĵڶ����֡������ϣ�����Ķ���ϵ�е���һ���֡�

�ҿ��ܻ����ӵ������֡�������i2cͨ���Դ�PCͨ��������Ƶ�Դ�� Ҳ���ܻ����е��IJ��֡�������һЩ����Ȥ�Ķ����� ���ڿ��dz���ֱ����ѹ���������������ֱ������ͼ�����壬 ������Ϳ���ͨ�����Ե�·����֤�����ֿܵ���Դ�������񵴡� ������·������������һ����������Դ�shop.tuxgraphics.org��á�

_________________ _________________ _________________

 

���

���ǿ���ͨ��ʹ��һ�����ڴ�����΢����������ƣ� ������һ���ȴ�ͳ��Դ���������и������Եĵ�Դ�� ���ǿ��ܵģ���Ϊ��ǰʹ��Ӳ����ʵ�ֵĹ������������Ƕ�ʹ��������ʵ�֡�

����ƪ����������Ҫ���������飺  

һ�㾯��

��ƪ���»��������������ι����ģ������ʹ�ô�������ѧ��֪ʶ����һЩ�޸ġ� ����Ҫ���׶�·����Ҳֻ����������ʵ�ֵģ����ijЩ�ط��д��� ���ֱ������ܲ����������������������е��¶�·�� ���Ӳ�����ܻ���һ�������л�Ϊ�ҽ���Ϊ�˷�ֹ����������֣� �����ʹ��һ������裨����һ������ǰ�Ƶĵ��ݣ��� �����������㹻�ĵ������������ʹӲ�������𻵡� ������Ϳ��Բ��Զ�·��û��ʧȥӲ����Σ�ա�  

�����Ľṹ

����main�����У�ddcp.c�ļ���������������أ�ֻ�ܿ��������ڼӵ�ʱ��ʼ���Ĵ��룬 Ȼ�����������һ������ѭ����
�ڸ�����������������ѭ������һ����mainѭ���У�ddcp.c�еġ�while(1){ ...}������ �ڶ�����ģ��ת�����������Ե��ж��У�analog.c�����SIGNAL(SIG_ADC){...}������ ϵͳ��ʼ��ʱ����Ϊÿ100μ�뷢��һ���жϡ� ���еĺ����ʹ���������һ��������������һ��ʵʱ����ϵͳ��ִ�е�һ�����̻��̵߳����֣� ���ԣ���ʹû�в���ϵͳ����Ҳ�����ƺ������������Ļ�����ִ�С�
[priorities]

�ж�����������κ�ʱ��ֹͣmainѭ����ִ�ж�ִ�����Լ��Ĵ��룬 �����ж������ִ���Dz��ᱻ�жϵġ����ж�����ִ�����ʱ�� mainѭ������жϴ�����ִ�С������������ֺ����
  1. �����жϴ����ִ��Ҫ����һ���жϵ���֮ǰ����������������̫���� ����Ҫ������ǻ�������ָ��������� һ�����Խ���һ��C����д�ɵ���ѧ��ʽ���ܻ���������еĻ������롣

  2. ���жϴ����main��������й����ı������ܻ���ִ�й�����ͻȻ�ı䡣 ������ж���main�����д��ݶ���һ���ֽڵ�����ʱ���ǺϷ��ġ� ���������ֽ���Ҫ��ֹһ��ָ���ô�Ϳ��ܻ����һ���ֽ����ж�֮ǰ�������� ����һ���ֽ�ȴ���ж�֮����ô���أ�����ADC�����Ľ���������ж�֮�䲻�����ܴ� ���ڴ��������²�����ʲô���⡣ ��һ�㲻����������żȻ�ԵĴ���ÿСʱ����ֻ����һ�Σ��� ��ͱ���ʹ��һ����־λ��ͨ�������Լ����Ĵ����Ƿ��ڿ��������б��ж��ˡ�
������Щ��ζ��һЩ���ӵ�������ˢ����ʾ������ⰴť�� ������ͷ���ֵת��Ϊ�ڲ���λ�ȵȶ���Ҫ��main��������ɡ� ���жϹ���������ֻ��ʱ����ȵ��£�������ѹ���ơ���ѹ����������DAC�� Ϊ�˱��⸴�ӵ���ѧ���㣬���еļ��㶼��ADC��Ԫ����ɣ���ADC�����ĵ�Ԫ��ͬ��ֵ��0��1023����

������main������ȷ�е��߼����̣�
1) ��������������ADC���
2) ������ת��Ϊ��ʾֵ���������أ�
3) ����Ҫ�İ�������ֵ���û��趨�ģ�ת�����ڲ��ĵ�ЧADCֵ
4) ����Ҫ�ĵ�ЧADCֵ������һ���������ȷ�˵һ���ж��������ʹ�õı�����
5) ��LCD��ʾ��
6) ������Ҫ��LCD����ʾ������ת�����ַ���
7) ����ʾ������ʾ��ѹֵ
8) ����ж������Ƿ���Ե��ڵ�ѹ��������������Ƽ��
9) �����ѹ���������ӣ���ô�ڵ�ѹֵ������ʾһ����ͷ
10)�Ѱ���ֵд����ʾ����
11)����ж������Ƿ���Ե��ڵ�ѹ��������������Ƽ��
12)����������������ӣ���ô�ڵ���ֵ����ʾһ����ͷ
13)����Ƿ��а�ť�����£����û�еȴ�100�����ټ�顣����а�ť���£�
	��ô�ȴ�200���룬����Ϊ����һ���õ���Ӧ���������ť��������סʱ�����ڹ������졣
14)�ص���һ����
�ж�����򵥵öࣺ
1) ��ADC�������������
2) �ڵ����͵�ѹ���л�ADC����ͨ��
3) ����Ƿ��������������������������DAC��Ϊһ����С��ֵ������Ϊ0��
   ��Ϊ��ѹ�Ŵ���ֻ������0.6V���ϣ�0.6V�������Եõ�0V�����������
4) ����ѹ�����Ƿ���Ҫ����
5) ����4)�Ľ������Ƿ���Ҫ����DAC����ģת������


��������������˼�룬�����ҽ�����һ�����Ƕ�����Щ�ļ��У� Ȼ���㽫������Щ���루��������ϤC���ԣ���

 

���ļ��ж�����ʲô

ddcp.c -- ���ļ�����main�������г�ʼ���������ڴ���ɡ�mainѭ��Ҳ������ʵ�֡�
analog.c -- ģ��ת�����Լ��������ж����������������ִ�еĴ��붼�����ڴ��ҵ���
dac.c -- ��ģת��������ddcp.c�г�ʼ������ֻ��analog.c�е��á�
kbd.c -- ���̴��롣
lcd.c -- LCD��������һר�ŵİ汾����ҪLCD��rw��ţ���ʹ��һ���ڲ���ʱ����
         ��Ӧ�������㹻����ʱ��������ж�����
 

�¹���:������������

�����е��¹��ܲ��Ǻܶ࣬��Ϊ���Ѿ����˴�����ƪ����������������ô�����ģ� ���Ҳ�������ƪ����̫����

���������ӵ�������Ƿdz���Ҫ�ģ�����ѹ�����ֵ���������� ���ǾͲ������´μӵ�ʱ���������ˡ����ǽ���Щֵ�洢��΢��������eeprom�С� ���е�eeprom������usb�洢�����д洢��Ԫ��д�����������޵ġ� ����Atmega8��˵��100000�Σ�֮��eeprom�ͻ�ʧЧ�������ٴ洢�����ˡ� �ӳ�eepromʹ��������һ��С���ɾ���ÿ�ν���ֵд����ͬ�ĵ�Ԫ� ������Ҫ���ȼ���洢��Ԫ�ĵ�ַ�����ÿ��洢10���������ݣ� 100000��д������ζ�ſ���ʹ��25�꣬��������˵�������㹻�ˡ� ��������ʹ����򵥵ķ�����ֻ�����ݴ洢��һ���ط���

��ô�����eeprom�ж�д�����أ�������ָ�eeprom_read_word�� eeprom_write_word���Դ�/��eeprom�ж�д16���ص�������eeprom �ĵ�ַ��0��ʼ�������ֽڼ�����

���ӵ�һ��ĵط���ÿ�����Ǹ�������ʱ��eeprom���ݶ��ᱻɾ���� ����������Ҫ֪�������Ƿ��eeprom�ж������������ݣ���Ϊ��д�����µ������� ����˵�Ƿ�������eeprom�д洢�˺Ϸ��ĵ�ѹ����ֵ�� ����ͨ����eeprom��д��һ��ħ����magic munber����������¡� ���仰˵��ÿ�����Ƕ�д��3��ֵ����������ֵ����ѹ����ֵ��ħ���� �ӵ���eepromʱ���������ȼ�����ħ�������ƥ�䣬 ���Ǿ���Ϊ�������洢�ĵ�ѹ�͵���ֵ����ȷ�ġ� ��ħ������������ֵ���ȷ�˵19)��ֻҪ����eeprom�е�ȱʡֵ�Ϳ����ˡ�

�����뿴ddcp.c�е�store_permanent()������

���ĵ�������digitaldcpower-0.3.X������X�������İ汾�� �Ժ�����Ҫ�����һ�����޸ĸ�Xֵ����һƪ�ĵ�������digitaldcpower-0.2.X��

��Ŀ��ģ�������һƪ�����ҽ�����PC����Դ��I2Cͨ�ţ� ��ʱ��Ϳ���ͨ��������������ǵ�Դ�ϵİ�ť���ı�һЩ��صĶ����ˡ�

ϣ�������ܽ�I2C����������ֲ�������IJ���ϵͳ�ϡ�������ܰ���æ�Ļ���֪ͨ�ҡ� ����Ҫ����ο���RS232�ӿڵ�֪ʶ�Լ�һ���������� ʵ����Ҳ��ֻ����Ҫ�ı�һ�д���Ϳ����ˣ�ioctl��������

������·�������е������һ��ӡˢ��·����Դ�shop.tuxgraphics.org��ã������ģ���  

�����/����

 

����ƪ���·�������

ÿƪ���¶��и��Եķ���ҳ�档�����ҳ����������ύ���ۣ�Ҳ���Բ鿴�������ߵ����ۣ�




��ҳ��LinuxFocus�༭��ά��
© Guido Socher
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
������Ϣ:
en --> -- : Guido Socher (homepage)
en --> zh_CN: SEVEN <seven1240(at)163.com>

2005-08-03, generated by lfparser version 2.51