欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3050|回復: 9
收起左側

請問這種時間不規則的閃燈程序怎么處理比較高效?

[復制鏈接]
ID:38662 發表于 2023-8-18 17:05 | 顯示全部樓層 |閱讀模式
用示波器測了一個閃燈的時序,時間是不規則的,請問一下高手,象這種閃燈怎么寫效率比較高?謝謝!

閃燈時間

閃燈時間
回復

使用道具 舉報

ID:468209 發表于 2023-8-19 00:45 來自觸屏版 | 顯示全部樓層
很好奇你是怎么寫的
回復

使用道具 舉報

ID:672792 發表于 2023-8-19 08:49 | 顯示全部樓層
如果使用的是單片機可能沒有必要這樣寫一個閃燈程序,如果使用的是555或者其它器件就好理解了
回復

使用道具 舉報

ID:227818 發表于 2023-8-19 09:01 | 顯示全部樓層
定時器?不同的時間隨時設定不同的定時參數?
回復

使用道具 舉報

ID:69038 發表于 2023-8-19 09:08 | 顯示全部樓層
我算了一下,按0.05s的速率,連續發送21個字節(8位)的數據即可,具體發什么數據自己算一下。
回復

使用道具 舉報

ID:472504 發表于 2023-8-19 09:08 | 顯示全部樓層
可以把這些時間做成表格查表處理。。。
回復

使用道具 舉報

ID:136119 發表于 2023-8-19 09:22 | 顯示全部樓層
定義一個結構體
typedef struct
{
        u8 IO        ;         // 記錄端口狀態
        u16 timer;        // 記錄延時時
}        SW_IO;


typedef struct   /////處理函數進入時間處理方案
{
  u16 time;         /* 定義進入中斷時間 等0xFFFF 函數被關閉, 0允許進入函數  */
  u8 tag;           /* 標記狀態                */
  u8 value;         /* 傳遞參數                */
} SWT_APP ;



SW_IO IO_K[50];  // 根據需要控制的時序填寫對應時間和高低電平

SWT_APP location ; 記錄數組運行位置

if(location.time ==0 )
{
       
  if( IO_K[location.tag].IO )
  {
        輸出高電平
  }
  else
  {
   輸出低電平
  }
  location.time =  IO_K[location.timer];延時時間寫入
  location.tag++;
}



中斷內部調用控制

if(location.time &(location.time != 0xffff) )location.time--;
回復

使用道具 舉報

ID:514317 發表于 2023-8-19 17:14 | 顯示全部樓層
把每段延時時間做成數組    再做一個定時0.1秒的定時減減函數       把數組做個循環任務函數   把第一位減的時間個數(全局參數)載入循環    減到零時載入第二個減時間個數    到最后一位處理下是跳出還是繼續循環就行了
回復

使用道具 舉報

ID:123289 發表于 2023-8-25 15:14 | 顯示全部樓層
很簡單:
1、每個脈沖由0/1組成,給出兩個量:L1,H1。
2、N個脈沖,做成一個表格,給出2N個量:L1,H1、L2,H2、L3,H3、L4,H4、……LN,HN。
3、程序:
用定時器做一個計時軟件,依次取出L,H,計三種情況:
L<>0,H<>0 時,L-1計時并輸出0;
L = 0,H<>0 時,H-1計時并輸出1;
L = 0,H = 0 時,取一下組數據;
重復。
回復

使用道具 舉報

ID:38662 發表于 2023-8-26 17:03 | 顯示全部樓層
感謝各位老師的指導!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表