スマート車の学習プロセス

理解

割り込み

割り込み:割り込みサービス機能を実行するために中断することができ、割り込み他のコードを実行しているシングルチップで、システムは継続的に割り込み、実行に割り込みサービスルーチンによって中断実行することができ、オープン・ブレークは、連続運転中のシステムを指しアン、無効割り込みこれは、システムの連続運転割り込み、システムの割り込みをシャットダウンすることをいいます。
マイクロコントローラの割り込みは、非常に便利なセットです。私たちは、プログラムを読み出し、そのようなスキャナのキーボードとして、プログラムの作成に割り込みルーチン内でセンサーが返すデータをいくつかの簡単な操作を設定し、上のようになります。そして、すべてのほとんどは固定割り込みトリガ条件と時間を持って、我々は、特定のイベントの多くを完了するために、特定の時間の中断を入力するためにこれらを使用することができます。例えば1Hz割り込みとそう~~ 2Hzの上と、そこに割り込む
我々は、すべてのセットが開いて分割する際に、すべてのマイクロコントローラの割り込みのこのタイプは、プログラムの内部に、独自に、今回、そのユニークな条件になります割り込みルーチンは、作業を実行します。我々割り込みを禁止した場合、その条件と時間が作業を実行するために、独自の割り込みルーチンを割り込み、すべての種類の入らないものは何でも。多くのマイクロコントローラの割り込みが選択スイッチの割り込みを区別するだけでなく、いくつかのオープンおよびいくつかのクローズすることができます。
念のため、スタックは、プログラム内部の集合Ayを割り込み実行、各共通レジスタ内のデータの八尾タイムリー保護、または台無しにされた割り込みデータを取る必要があります~~

/*!
 *  @brief      main函数
 *  @since      v50
  *  @note       山.外摄像头 LCD 测试实验
 */
void  main(void)
{
    DisableInterrupts;        //关闭总中断

    PLL_Init(PLL200);         //初始化PLL为200M,总线为100MHZ   决定单片机处理速度
    camera_init(imgbuff);       //摄像头初始化
    UART_Init(UART_4,115200);   //蓝牙或串口初始化


    FTM_PWM_Init(FTM3,FTM_CH1,312,250);//PTE8    //电机1-A
    GPIO_Init(PTE,8,GPO,1);
    FTM_PWM_Init(FTM3,FTM_CH5,312,250);//PTE12    //电机2-A
    GPIO_Init(PTE,12,GPO,1);

    FTM_PWM_Init(FTM0 ,FTM_CH1,62500,duty);//PTC2 50000-125HZ

    EnableInterrupts;

    while(1)
    {
        camera_get_img();                                   //摄像头获取图像
        find_line();
        SendPicture();//调试时  一定要注释这一行!!!
    }
}



void SendPicture(void)
{
  int i=0,j=0;
   UART_Put_Char(UART_4,0x01);
   UART_Put_Char(UART_4,0xFE);
    for(i=0;i<OV7725_EAGLE_H;i++)
    {
      for(j=0;j<OV7725_EAGLE_W;j++)
      {
          UART_Put_Char(UART_4,Image_data[i][j]);
      }
    }
   UART_Put_Char(UART_4,0xFE);
   UART_Put_Char(UART_4,0x01);
}

狩り

上海交通大学、フリースケール狩りアルゴリズムhttps://wenku.baidu.com/view/9d90428dd0d233d4b14e690f.html

シリアルポート

頭字シリアルインタフェースポートは、また、シリアル通信インターフェースまたはシリアル通信インターフェース(COMインターフェイス指す)と呼ばれるシリアル通信インターフェースを拡張します。シリアルインタフェース(シリアルインタフェース)は、データを順次伝送線の対として単純等の通信回線を特徴とする1ビットは、それによって大幅にコストを削減する、双方向通信(電話線を直接伝送路として使用することができる)とすることができる送信されることをいいます、長距離通信に特に適したが、伝送速度が低くなります。
シリアルインタフェース(シリアルインタフェース)は、データを順次伝送線の対として単純等の通信回線を特徴とする1ビットは、それによって大幅にコストを削減する、双方向通信(電話線を直接伝送路として使用することができる)とすることができる送信されることをいいます、長距離通信に特に適したが、伝送速度が低くなります。ビットデータがビット情報によって1ビットは、シリアル通信と呼ばれる通信のために送信されます。シリアル通信特性は、次のとおり完全に伝送路の最小限のデータ・ビット、ビット列の送信、低コストが、遅い転送速度。シリアル通信距離は数kmまで数メートルであることができる、伝送方向情報に応じて、シリアル通信は、さらに、単一の半二重と全二重の3分割することができます。

Bluetoothのシリアルポート

図1に示すように、無線ブルートゥースシリアルポート:
ここに画像を挿入説明
2、ブルートゥースシリアルポートケーブル:各チームは、ブルートゥースシリアルリアストリップを有し、直接ブルートゥース間の直接ワイヤで接続されてもよいです。
ここに画像を挿入説明
3、Bluetoothのシリアルポートのハードウェアとプログラムの部品

UART_Init(UART_4,115200);   //蓝牙或串口初始化 

次の例は、ブルートゥースシリアルポートK66である:
ここに画像を挿入説明
ここに画像を挿入説明
RXとTXは送信及び受信、送信端及びシングルチップBluetoothシリアル接続の受信端を表します。
例えば:RX(送信側)と(受信側)のBluetooth上のマイクロコントローラTXポートに、TXは、Bluetoothシリアル接続でマイクロコントローラおよびRX(送信側)の(受信側)。サブラインは、ブルートゥースではなく、画像に応じて、広がらない接続エラー場合。

シンプレクス、半二重と全二重

1.シンプレックスデータは一方向のみサポートデータ伝送を転送する。片側のみが同時に情報を受信または送信することができ、双方向通信は、例えば、達成することができない:テレビ、ラジオ。

2.半二重双方向のデータ送信許可データ送信が、しかし、一度に、一方向のみにデータ伝送を可能にする、それは実際シンプレックスAハンドオーバ方向であると同時にだけであることができます一方の当事者が受諾するか、送信情報は、双方向通信を実現することができます。たとえば、次のトランシーバー。
ここに画像を挿入説明

3.全二重データ通信を同時に両方向のデータ伝送を可能にし、従って、全二重通信は、デバイスは、別個の受信および送信能力た送受信必要シンプレックス通信方式の組み合わせであり、中許容同時に例えば、双方向通信を実現するために同時にメッセージを送信:電話通信を。

4.全二重NIC(全二重)もの声互いを聞くことができ、我々は通常、同時に話し、のような、それを呼び出すよう同時に、両方同時に、データを受け取ることができるカードにデータを送信するために参照する。現在の全二重NICの一般的なサポート。

拡張情報:
シンプレックス、半二重および全二重通信、コンピュータネットワーク3つの通信チャネル。経路情報通信さ通信チャネルを提供することができます。通信チャネルは、物理的な伝送媒体または論理多重化媒体を介してであってもよいです。物理的伝送媒体は、データ通信線のような材料のエネルギー波を伝搬することが可能な材料を指します。一般的に論理的な接続を意味し、回路は、無線通信チャネルとして、接続又はパケットモードの仮想回路接続を切り替えます。ヘルプ通信チャネルので、情報は支障なく伝送することができます。

片面モードは、一般的に一方向にのみデータ送信の場合に使用されます。コンピュータだけではなく、データ伝送の反対方向に、プリンタにデータを送信するので、例えば、コンピュータとプリンタとの間の通信は、シンプレックスモードです。このようシンプレックス無線送信など、いくつかの通信チャネルがあります。

エコー

いわゆるエコーは、データ送信手段は、受信側で表示されます。

エコーは、実行中のバッチコマンドと実行結果などを表示します。多くの場合、コマンドのプログラム開発を実行した結果と呼ばれる、ショーのリターンは、次のコマンドを入力し、あなたの画面上に表示された戻り値を与えます。
いくつかのコマンドを実行するとき、あなたが戻り値をしたくない場合は、エコーを除去する必要があります。たとえば、次のシリアル通信を用いた治療では、モジュールは、シリアルポートと通信するかどうかを検出するためのATコマンド、ATコマンドを受信することができます。コマンドが返す:OK(通常のシリアル通信)(ないシリアル通信と通信しているノーリターン、)。ATE0削除エコー付き。

ATコマンド

コマンドモデムコマンド言語1 AT 2つの説明があり、他方は、Windowsのコマンドラインでスケジュールされたタスクである、です。

モデム

モデムは、コンピュータハードウェアであり、アナログ信号に変換することができるコンピュータのデジタル信号は、通常の電話回線に沿って伝送されてもよく、他のモデムで受信されたアナログ信号は、ラインのもう一方の端を回し、そしてコンピュータが理解言語に翻訳します。この単純なプロセスは、2台のコンピュータ間の完全な通信です。

変調器は、中国は、親しみをこめて呼ばれるモデム同音異義語を応じて、(香港、モデムと呼ばれる)モデムと呼ばれると呼ばれるモデム(変調器)および復調器(復調器)である「猫。」これは、アナログ信号に送信側デジタル信号によって変調され、次いでアナログ信号をデジタル信号に変換するための装置によって受信端で復調されます。
いわゆる変調は、電話回線からのアナログ送信信号にデジタル信号を変換することである、すなわち、アナログ信号をデジタル信号に変換し、復調します。総称してモデムとして知られています。

リニアCCD

CCDセンサ:電荷結合素子イメージセンサCCD(Charge Coupled Device:電荷結合素子)
CCDセンサは、光によって発生した信号電荷を蓄積することができる新しいタイプの光電変換装置であります

HOW口

ニックネーム:シリアル通信ポート、COMポート
、シリアル通信ポートであるCOMポート(クラスタ通信ポート)と呼ばれるシリアルポートシリアルポートは、9ピンは、典型的には、マイクロコンピュータである25ピンインタフェース、最大速度115200bpsがあります。典型的にはマウス(シリアル)と通信機器を接続するために使用される(例えば、データ通信またはいくつかの植物CNCマシンインタフェースのための外部モデム接続)等が挙げられます。マザーボードから一般通常唯一のマザーボード外部シリアルポート、およびアワビの出力端子(台形)はCOM1ポートであることをシャーシの背面と平行し、ピン引き出しポートCOM2。パラレルは、台形開口部の最長です。

しきい値

しきい値が重要と呼ばれるようにという意味では、しきい値の制限、

二値化

画像の二値化画像上の画素のグレー値を設定することで、明確な黒と白のみ視覚効果を示す全体像である、0又は255です。2値化(英語:閾値処理)は、画像セグメンテーションの最も簡単な方法の一つです。

画像データ

画像データは右ストアに左、上から下にある(この幾分不確定)

上下のマシン

PCは、ステアリングコマンドコンピュータに直接発行することができ、通常はPC /ホストコンピュータ/マスタコンピュータ/を参照上位コンピュータ、 各種の信号の変化は、画面上に表示されます。
これは、直接、一般に、デバイス状態取得装置、PLC /マイクロコントローラ等を制御する機械を低下させることを指します。コマンドは次の乗組員、次の乗組員は、デバイスに直接制御コマンドに対応する対応するタイミング信号に従って解釈するホストコンピュータが発行しました。ビット状態読取装置データチャンス随時、その後ホスト装置にデジタル信号に変換されます。
ホストコンピュータ構成の低いマシンフォーマットデータ伝送の長さだけでは画像が正しく表示され、正しく画像フォーマットを識別することができる同じです。

アシスタントカメラのデバッグ

ここに画像を挿入説明
ここに画像を挿入説明

リニアCCDデバッグアシスタント

ここに画像を挿入説明

仮想オシロスコープ

ここに画像を挿入説明
ここに画像を挿入説明

ステアリングギヤ(モータが収納され)

サーボ手段は、回転可能な部材を実行するための自動操縦航空機制御面(操作面)を制御します。点は、次のとおり①電動ステアリングギヤ、電動モータ、駆動部材及びクラッチ構成要素によって。

時計定義リスト

PDB

PDB制御可能な遅延は、内部または外部トリガ・ソースとして提供、またはトリガまたはDACはプログラム可能な間隔ADCハードウェアを提供して生成することができます。これは、ADCとDAC出力の完了は、正確な時間を提供すると思うだろう。PDBパルス出力モジュールは、ウィンドウをサンプリングとしてラインCMPモジュールに、設けられていてもよいです。

弾性タイマー(FlexTimer、FTM)

フレキシブルタイマモジュール(FTM)は、支持インプットキャプチャ、アウトプットコンペアモータ2-8チャネル・タイマおよび電力管理アプリケーションを制御するためのPWM信号発生器です。FTMは、参照が符号付きまたは符号なし16ビット・カウンタ・カウンタとして使用することができる時間です。
FTMモジュールは、唯一のクロックドメインは、システムクロックであります。

1、同期カウンタ

ここに画像を挿入説明

図2に示すように、フリップフロップを初期化します

INITTRIGEN = 1の場合、カウンタは、以下の場合に値FTM CNTINレジスタに更新されたとき、その後、トリガがFTM生成されます。カウンタがFTMモード技術として選択されている場合、CNTINは自動的にレジスタの値に更新します。レジスタCNTに書き込む場合。(CNT = CNTIN)場合、同期は、(CLKS [1:0] = 0:0)場合FTMカウンタがあり、非ゼロ値をCLKS [1:0]が書き込まれているあるビット

区別3、PICマイクロコントローラのタイマレジスタとタイマ周期レジスタ

タイマレジスタは、制御レジスタと周期レジスタ、タイマ制御レジスタが設定周波数など、発振源を有効に割り込み許可、分周比、及び期間レジスタはタイマーによってカウント数を保存するために使用され、例えば16のようであってもよいが挙げられますタイマーは65535回までカウントすることができます。
期間TMR2に表示される登録、あなたが設定どのくらいの値がFFH(デフォルト値はすべて1です)、の最大値を設定することができ、それは自然なオーバーフローオーバーフローを使用して、それがその値で、すべてのものの後ではなく、期間に依存し、TMR2レジスタ試合の内容が、すぐに両方の結果の比較は、メッセージオーバーフローを送ります

4、タイマー

開封後は定期的なトリガータイマー。タイマーの開始値をロードする、などがなどLDVALレジスタに記載されており、ゼロにカウントダウンします。そして、自分自身の開始値をロードします。ゼロにするたびに、タイマ・カウントは、トリガパルスが生成され、割り込みフラグが設定されています。すべての割り込みは、(割り込みレジスタTCTRL TIEビットを設定することにより)開放または遮断することができます。前者はクリアされた後にのみ、新しい割り込みが生成されます。
必要であれば、タイマはカウンタレジスタCVALの電流値で読み取ることができます。タイマーをオフにし、その後、タイマーが再起動回数TENビット期間によって開始されます。

ポインタ

ポインタは、通常、他の言語では見られない特殊なデータ型です。可変アドレスポインタへのポインタは、実質的にメモリセルのアドレスです。変数の種類に応じて呼ばれる、整数へのポインタ(INT *)、ポインタフロート(フロート*)、文字ポインタ(CHAR *)、構造ポインタ(構造体*)、合わせたポインタ(ユニオン*)であってもよいです。

空ポインタ型

名前は、無効*「いいえ型ポインタ」、変数を定義するために使用されるポインタを示唆するように、それは、データポイントの種類を指定していないが、ポインタの任意の型に変換されるように強制することができます。異なるタイプのデータへのP1およびP2のポイント場合は、キャスト演算子ポインタクラス右代入演算子の使用する必要があります。ポインタP1、P2の同じタイプの場合、それはP1とP2の間で相互に直接割り当てることができることを知ら
コンバータをポインタの型を残しました。
【たとえば]:

 float *p1; //声明 p1 为浮点型指针
int *p2; //声明 p2 为整型指针 
p1 = (float *)p2;//强制转换整型指针 p2 为浮点型指针值给 p1 赋值
 而 void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转

言い換えれば:

void *p1; //声明 p1 无类型指针
int *p2; //声明 p2 为整型指针
p1 = p2; //用整型指针 p2 的值给 p1 直接赋值

これは、平均値、void *型の型変換は、P2 = P1この文はエラーをコンパイルすることを、強制することなく指標の他のタイプに割り当てることができないため、p1は「void *型」タイプの型にキャストする必要があります。「何のタイプは」包括的であることはできないため、「型付け」と包括的ではないではありません「と入力」「なしタイプ。」

構造

構造は、基本データ型、およびという名前の変数の識別子との組み合わせで構成されています。構造は、異なるタイプのデータに使用することができます。
1)構造体変数の構造および説明を定義
定義学生命名構造型変数[例]

struct student //定义一个名为student的结构体变量类型
{ char name[8]; //成员变量“name”为字符型数组
char class[10]; //成员变量“class”为字符型数组
int age; //成员变量“age”为整型
};

このように、文のS1構造変数は、次のステートメントを使用し、「学生」タイプの場合:
構造体の学生S1; //宣言s1は「学生」型構造体変数である
[]、例えば、学生という名前の構造体変数を定義しますタイプ、s1は「学生」型として宣言しながら、
構造体変数

struct student //定义一个名为student的结构体变量类型
{ char name[8]; //成员变量“name”为字符型数组
char class[10]; //成员变量“class”为字符型数组
int age; //成员变量“age”为整型
}s1; //声明s1为“student”类型的结构体变量

2)可変用い構造
構造は、構造体変数代入演算子は、変数の他のタイプのようにすることができ、新たなデータ・タイプである
基本変数の部材として構成変数ことを除い。
ボディ構造のメンバーの表現:
構造体メンバ変数名
。もし、全体として「構造体変数名のメンバー」、データの種類とのメンバーの全体的な構造
、フロントと同じデータ型、変数の話の使用など。
【たとえば]:

s1.age=18; //将数据 18 赋给 s1.age(理解为学生 s1 的年龄为 18)

3)構造ポインタ
構造体ポインタが構造体へのポインタへのポインタです。構造は「*」オペレータの一つで変数名に適用される前に宣言しました。
例えば、構造体宣言構造ポインタと次のように説明してきました。

struct student *Pstudent; //声明 Pstudent 为一个“student”类型指针

使用構造は、アクセス構造体のメンバーのための式の構造体のメンバへのアクセスを参照し、構造体変数は
異なっています。:構造として表現メンバーのアクセス構造を指す
メンバー>構造-構造ポインタ名
「 - >」「 - 」組み合わせ「>」、構造部材を指す矢印のように二つのシンボルです。与えられた与えるために、上記の例
定義された構造の名前と年齢が割り当てられ、次の文を使用することができます。

strcpy(Pstudent->name,"LiuYuZhang");
Pstudent->age=18;

実際には、Pstudent->名前は、短い形式の(* Pstudent).nameのです。構造体のポインタ、すなわち、体全体の空間構造の割当バイト長は、使用前に、構造体、即ち、第1の部材の構造の最初のアドレスへのポインタであるため、初期化されるべき構造体のポインタことに留意されたいです。この関数は、次の手順を実行するために使用することができます。

Pstudent=(struct student*)malloc(sizeof (struct student));
sizeof(struct student)自动求取 student 结构体的字节长度,
malloc()函数定义了一个大小为结构体长度的内存区域,然后将其地址作为结构体指针返回。

GPIO汎用入出力

1、汎用入力

ピンデータ入力レジスタは、論理状態は、ピンは、ポート制御モジュールと配置され、有効な割り込みを対応するデジタル機能が提供され、各ピン得ることができます。デジタルフィルタ後の有効な任意の有効な入力での非同期データ入力レジスタピンリターンポート制御ピン。非同期入力端子は、割込みポート制御モジュールを共有し、もし制御割り込みモジュール非同期にも失敗障害しばらく適切なポート。汎用関数の入力ポートを必要としない場合には、その消費電力を低減します。

2、一般的な出力

ピンのデータ出力レジスタと出力によってピンの各論理状態は、ピンがGPIOなどの機能を提供するように構成され、制御ピンイネーブルレジスタ。PIOピンが機能し、対応するデータ出力がクリアされたビットをイネーブルレジスタとして設定されている場合、ピンが入力として構成されています。ピンがGPIO機能と、対応するデータ出力として構成されている場合、ピンは、出力ピンと同じピンに対応するデータ出力レジスタの論理状態として構成され、ビットが設定されているイネーブルレジスタ。単一の、明確なセット内のポート、またはトリガーピン・データ・セットに書き込むことにより、汎用出力レジスタを使用して上位ビットを達成するために、データ消去ピンとピントリガ・データ・レジスタは、1つ以上の出力を可能にします。そして、対応するポート制御モジュールは、割り込みステータスの更新ができるように、効率的なピン出力レジスタとデータ出力端子レジスタ(レジスタ設定を含む/クリア/トリガー)を必要としません。

ユニバーサル非同期レシーバ/トランスミッタ(UART)

UARTは、他の周辺機器とCPUとの非同期シリアル通信を可能にします。

公開された98元の記事 ウォン称賛43 ビュー30000 +

おすすめ

転載: blog.csdn.net/qq_42352666/article/details/83317960