智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: librae8226
打印 上一主题 下一主题

模拟摄像头采集的图像怎么在二维数组中存放??帮忙看看代码……

  [复制链接]

14

主题

161

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1382
QQ
威望
406
贡献
768
兑换币
10
注册时间
2009-9-4
在线时间
104 小时
11#
 楼主| 发表于 2010-3-18 18:41:22 | 只看该作者
不好意思啊,好长时间没上了,我把调通的代码发上来,还没弄好的朋友们参考交流一下喽!
回复 支持 反对

使用道具 举报

14

主题

161

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1382
QQ
威望
406
贡献
768
兑换币
10
注册时间
2009-9-4
在线时间
104 小时
12#
 楼主| 发表于 2010-3-18 18:42:00 | 只看该作者



  1. #include <hidef.h>      /* common defines and macros */

  2. #include <MC9S12XS128.h>     /* derivative information */

  3. #include "ATDInit.h"

  4. #include "PortInit.h"

  5. #include "INTInit.h"

  6. #include "SetBusCLK.h"

  7. #include "TimerInit.h"

  8. #include "SCIInit.h"



  9. #pragma LINK_INFO DERIVATIVE "mc9s12xs128"



  10. #define BUFF_ROW_MAX 15

  11. #define ROW_INTERVAL 15

  12. #define BUFF_COLUMN_MAX 35



  13. #pragma CODE_SEG DEFAULT



  14. //#define BUFF_ADDR 0x2500

  15. //#define BUFF_ADDR_F $2500



  16. /*************************************

  17. *    Variables Definition Module     *

  18. *************************************/



  19. volatile unsigned char buff[BUFF_ROW_MAX][BUFF_COLUMN_MAX];

  20. volatile unsigned int SampleRow = 0;

  21. volatile unsigned char threshold = 0x2F;

  22. volatile unsigned char row = 0, column = 0;

  23. volatile unsigned char SCIrow = 0, SCIcolumn = 0;

  24. volatile unsigned int rowcounter = 0;

  25. volatile Bool vStartFalg = 1;



  26. /*************************************

  27. *    Functions Definition Module     *

  28. *************************************/



  29. #pragma CODE_SEG DEFAULT

  30. //Normal Functions



  31. void delayms(int ms) // 40MHz--1ms

  32. {   

  33.     unsigned int ii, jj;

  34.     for( ii = 0; ii < ms; ii++ )

  35.         for( jj = 0; jj < 255; jj++ );         

  36. }



  37. #pragma CODE_SEG __NEAR_SEG NON_BANKED

  38. //Interrupt Functions



  39. void interrupt 8 Port0_interrupt(void) // HS interrupt

  40. {

  41.     unsigned int i;



  42.     TFLG1_C0F = 1; // Clear HS interrupt flag

  43.     rowcounter++;

  44.    

  45.     if( vStartFalg ) // Avoid VS blanking

  46.     {

  47.         if ( SampleRow++ <= 10 )

  48.         {

  49.                 return;                           

  50.         }

  51.     }

  52.     vStartFalg = 0;

  53.     if( rowcounter % ROW_INTERVAL == 0)

  54.     {

  55.         for( i = 0; i < 100; i++) // Avoid HS blanking(35~75)

  56.         {

  57.             asm(nop);

  58.         }

  59.         TIE_C0I = 0; // Disable HS interrupt



  60.         for( column = 0; column < BUFF_COLUMN_MAX; column++ )

  61.         {

  62.             while(!ATD0STAT0_SCF);

  63.             buff[row][column] = ATD0DR0L;

  64.         }

  65.         row++;

  66.         

  67.         TIE_C0I = 1;

  68.         

  69.         //TIE_C0I = 0; // Disable HS interrupt,just sample one row.

  70.         

  71.         if( row > BUFF_ROW_MAX )

  72.         {

  73.             TIE_C0I = 0;

  74.             TIE_C1I = 1;

  75.         }

  76.     }

  77. }



  78. void interrupt 9 Port1_interrupt(void) //VS interrupt

  79. {

  80.     TIE_C0I = 0; // Disable HS interrupt

  81.     TIE_C1I = 0;

  82.     TFLG1_C1F = 1; // Clear VS interrupt flag

  83.     /**************************************

  84.     *              Send Image             *

  85.     **************************************/

  86.     for( SCIrow = 0; SCIrow < BUFF_ROW_MAX; SCIrow++ )

  87.     {

  88.         for( SCIcolumn = 0; SCIcolumn < BUFF_COLUMN_MAX; SCIcolumn++ )

  89.         {

  90.             if(buff[SCIrow][SCIcolumn] > threshold)

  91.                 SCI_Transmit('1');

  92.             else

  93.                 SCI_Transmit('0');

  94.             delayms(50);

  95.         }

  96.         SCI_Transmit('\n');

  97.     }

  98.     SCI_Transmit('\n');

  99.     PORTB_PB7 = !PORTB_PB7;

  100.     /**************************************

  101.     *            End of Sending           *

  102.     **************************************/

  103.    

  104.     delayms(2);

  105.     SampleRow = 0;

  106.     vStartFalg = 1;

  107.     row = 0;  // Reinitialize

  108.     rowcounter = 0;



  109.     //TIE_C1I = 1; // Enable VS interrupt

  110.     TIE_C0I = 1; // Enable HS interrupt       

  111. }   



  112. /*************************************

  113. *               MAIN                 *

  114. *************************************/

  115. void main(void)

  116. {

  117.     /* put your own code here */



  118.     DisableInterrupts;



  119.     /**************************************

  120.     *   Functions Initialization Module   *

  121.     **************************************/

  122.     SetBusCLK(); // 80MHz

  123.     Port_Init();

  124.     ATD_Init();

  125.     Timer_Init_AV();

  126.     SCI_Init();

  127.   

  128.     /**************************************

  129.     *   Variables Initialization Module   *

  130.     **************************************/



  131.     EnableInterrupts;



  132.     for(;;)

  133.     {

  134.         _FEED_COP(); // Feed Watchdog;

  135.     }

  136.     /* wait forever */

  137.     /* please make sure that you never leave this function */

  138. }
复制代码
回复 支持 反对

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
威望
260
贡献
20
兑换币
0
注册时间
2010-1-16
在线时间
12 小时
13#
发表于 2010-3-24 18:27:19 | 只看该作者
回复 11# librae8226

谢谢!
回复 支持 反对

使用道具 举报

7

主题

125

帖子

0

精华

金牌会员

shuxinxiaozi

Rank: 6Rank: 6

积分
1169
威望
362
贡献
755
兑换币
0
注册时间
2010-3-8
在线时间
26 小时
14#
发表于 2010-3-25 15:13:24 | 只看该作者
恩,学习下!
回复 支持 反对

使用道具 举报

7

主题

158

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2843
QQ
威望
393
贡献
2380
兑换币
26
注册时间
2009-11-5
在线时间
35 小时
15#
发表于 2010-4-6 20:32:27 | 只看该作者
顶一下
回复 支持 反对

使用道具 举报

7

主题

158

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2843
QQ
威望
393
贡献
2380
兑换币
26
注册时间
2009-11-5
在线时间
35 小时
16#
发表于 2010-4-6 20:32:27 | 只看该作者
顶一下
回复 支持 反对

使用道具 举报

7

主题

161

帖子

0

精华

高级会员

Rank: 4

积分
560
QQ
威望
404
贡献
44
兑换币
2
注册时间
2010-1-10
在线时间
56 小时
17#
发表于 2010-4-17 20:25:02 | 只看该作者
学习一下
回复 支持 反对

使用道具 举报

2

主题

72

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
QQ
威望
302
贡献
53
兑换币
0
注册时间
2010-3-24
在线时间
10 小时
18#
发表于 2010-4-24 16:38:28 | 只看该作者
????
回复 支持 反对

使用道具 举报

2

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
349
威望
291
贡献
38
兑换币
2
注册时间
2010-4-6
在线时间
10 小时
19#
发表于 2010-6-20 19:05:03 | 只看该作者
kankan
回复 支持 反对

使用道具 举报

14

主题

113

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
496
QQ
威望
360
贡献
96
兑换币
2
注册时间
2010-5-4
在线时间
20 小时
20#
发表于 2010-6-22 19:31:09 | 只看该作者
kankan
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-7-2 01:04 , Processed in 0.044375 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表