ブログ上では初めまして。63期のプロジェクトAquila所属のShunです。み込みプログラムを担当しております。Aquilaでは、ロボットのメインのCPUとして、Atmal社のATxmega128a1uを使用しております。自分は英語が苦手なんですが、何とか英語文献を読んだり、高三生(受験生だよね!?)の力を借りつつ組み込みプログラムをパチパチしております。自分がネットに日本語文献が数少ないため、苦戦したため、ここに、ソースコードを提供していきたいと思います。今日、動作確認をとりました、超音波センサのソースとなります。使用する超音波センサは、こちらのパララックス社製の超音波センサ。回路は、VCC繋げて、GND繋げて、通信線繋げます。通信線は、xmegaの3.3Vの信号で構いません。ここまでは、猿でも出来ますねはい。ちなみに、自分たちはシステムクロックは、32MHzで動かしています。32MHzの場合、1024分周で動かしてやると、大体cm単位で値を出します(※要検証つまり、6行目のTC_CLKSEL_DIV256_gcをTC_CLKSEL_DIV1024_gcにしてやると、1024分周で動きます。#include<util/interrupt.h>及び、cli、seiは、波形のcheck時つまり、カウンタ駆動時に、良きせぬ割り込み処理を防ぐためのものです。[使い方]もし、PORTDの、2PINに、センサの信号線が繋がっている場合ping(&PORTD,PIN2_bm);このように使ってもらうといいでしょう。ポート名の前の&を忘れないようにしてください。拙い文章で申し訳ありません。お役に立てたら幸いです。質問等ごさいましたら、コメントにて宜しくお願いします。次回以降も、xmegaについてのソースコードを上げていきたいと思います。次回はuart通信のコードの予定です。