<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>ColdFire/68K Microcontrollers and Processorsのトピックm52221demo board accelerometer strangeness</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/m52221demo-board-accelerometer-strangeness/m-p/172294#M6478</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I bought an m52221demo board and it all works fine except the accelerometer occasionally seems to get "stuck"...&amp;nbsp; Even the original flashed demo program didn't control the mouse&amp;nbsp;(via the accelerometer),&amp;nbsp;like it was supposed to.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Once the accelerometer gets stuck, I read either near 0v or near&amp;nbsp;3.3v for the X, Y, and Z outputs...&amp;nbsp; I've confirmed right at the chip that these signals are coming from the accelerometer (before the series resistor) and not being driven down by GPIO outputs or anything.&amp;nbsp; I've also confirmed the accelerometer is not in sleep mode.&amp;nbsp; This doesn't happen often, but when it does, the only way for me to get the accelerometer unstuck is to power off and on again, sometimes more than once.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am wondering if I might just have a bad accelerometer, but I am also concerned a bit of the m5221demo schematic, which seems to indicate the low-pass filter (I assume) caps are right at the pins, with no intervening series resistor...&amp;nbsp; The m5221demo schematic shows:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.testardi.com/temp/m52221demo.JPG"&gt;&lt;IMG src="http://www.testardi.com/temp/m52221demo.JPG" /&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Whereas, the 7260 datasheet recommends:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.testardi.com/temp/7260ds.JPG"&gt;&lt;IMG src="http://www.testardi.com/temp/7260ds.JPG" /&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;(If these pictures didn't come thru, they are in the first and second attachments, as well.)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The&amp;nbsp;(heavily trimmed)&amp;nbsp;program I am using is below.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Has anyone else seen an issue like this, or do you see something I'm doing wrong?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks for any help/advice!!!&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;-- Rich&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;#include "support_common.h"&lt;BR /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;#define assert(x)&amp;nbsp; if (! (x)) { printf("ouch!\r\n"); *(char *)0 = 0; }&lt;/DIV&gt;&lt;DIV&gt;static int g;&lt;/DIV&gt;&lt;DIV&gt;void ms(int n)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (n--) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt; 2000; i++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;int main(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x, y;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // AN 4, 5, 6 are primary; others are gpio output&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PANPAR = 0x70;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_DDRAN = 0x8f;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TC is gpio output&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PTCPAR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_DDRTC = 0xf;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UB is gpio output&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PUBPAR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_DDRUB = 0xf;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // initialize accelerometer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTUB = 0x8;&amp;nbsp; // disable sleep mode; 1.5g sensitivity&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // initialize adc to read accelerometer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_CTRL1 = 0x0000;&amp;nbsp; // once sequential&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_CTRL2 = 0x0005;&amp;nbsp; // divisor for 48 MHz&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADLST1 = 0x0654;&amp;nbsp; // channels 4 = x; 5 = y; 6 = z;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADLST2 = 0x0000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADSDIS = 0xf8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADHLMT0 = 0x7ff8;&amp;nbsp; // disable high limits (should be default)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADHLMT1 = 0x7ff8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADHLMT2 = 0x7ff8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_POWER = 0x00d0;&amp;nbsp; // enable adc&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_CTRL1 = 0x2000;&amp;nbsp; // start once sequential&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ms(500);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = MCF_ADC_ADRSLT0;&amp;nbsp; // read x and y&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y = MCF_ADC_ADRSLT1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%d: x = 0x%x; y = 0x%x\r\n", i++, x, y);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set the LEDs&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (x &amp;lt; 0x3000 || x &amp;gt; 0x5000) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC |= 0x01;&amp;nbsp; // x axis gravity&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC &amp;amp;= ~0x01;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (y &amp;lt; 0x3000 || y &amp;gt; 0x5000) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC |= 0x02;&amp;nbsp; // y axis gravity&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC &amp;amp;= ~0x02;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC ^= 0x08;&amp;nbsp; // blink&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Dec 2007 01:55:00 GMT</pubDate>
    <dc:creator>RichTestardi</dc:creator>
    <dc:date>2007-12-12T01:55:00Z</dc:date>
    <item>
      <title>m52221demo board accelerometer strangeness</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/m52221demo-board-accelerometer-strangeness/m-p/172294#M6478</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I bought an m52221demo board and it all works fine except the accelerometer occasionally seems to get "stuck"...&amp;nbsp; Even the original flashed demo program didn't control the mouse&amp;nbsp;(via the accelerometer),&amp;nbsp;like it was supposed to.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Once the accelerometer gets stuck, I read either near 0v or near&amp;nbsp;3.3v for the X, Y, and Z outputs...&amp;nbsp; I've confirmed right at the chip that these signals are coming from the accelerometer (before the series resistor) and not being driven down by GPIO outputs or anything.&amp;nbsp; I've also confirmed the accelerometer is not in sleep mode.&amp;nbsp; This doesn't happen often, but when it does, the only way for me to get the accelerometer unstuck is to power off and on again, sometimes more than once.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am wondering if I might just have a bad accelerometer, but I am also concerned a bit of the m5221demo schematic, which seems to indicate the low-pass filter (I assume) caps are right at the pins, with no intervening series resistor...&amp;nbsp; The m5221demo schematic shows:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.testardi.com/temp/m52221demo.JPG"&gt;&lt;IMG src="http://www.testardi.com/temp/m52221demo.JPG" /&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Whereas, the 7260 datasheet recommends:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://www.testardi.com/temp/7260ds.JPG"&gt;&lt;IMG src="http://www.testardi.com/temp/7260ds.JPG" /&gt;&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;(If these pictures didn't come thru, they are in the first and second attachments, as well.)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The&amp;nbsp;(heavily trimmed)&amp;nbsp;program I am using is below.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Has anyone else seen an issue like this, or do you see something I'm doing wrong?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks for any help/advice!!!&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;-- Rich&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;#include "support_common.h"&lt;BR /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;#define assert(x)&amp;nbsp; if (! (x)) { printf("ouch!\r\n"); *(char *)0 = 0; }&lt;/DIV&gt;&lt;DIV&gt;static int g;&lt;/DIV&gt;&lt;DIV&gt;void ms(int n)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (n--) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i = 0; i &amp;lt; 2000; i++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;int main(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int x, y;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // AN 4, 5, 6 are primary; others are gpio output&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PANPAR = 0x70;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_DDRAN = 0x8f;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TC is gpio output&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PTCPAR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_DDRTC = 0xf;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // UB is gpio output&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PUBPAR = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_DDRUB = 0xf;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // initialize accelerometer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTUB = 0x8;&amp;nbsp; // disable sleep mode; 1.5g sensitivity&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // initialize adc to read accelerometer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_CTRL1 = 0x0000;&amp;nbsp; // once sequential&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_CTRL2 = 0x0005;&amp;nbsp; // divisor for 48 MHz&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADLST1 = 0x0654;&amp;nbsp; // channels 4 = x; 5 = y; 6 = z;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADLST2 = 0x0000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADSDIS = 0xf8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADHLMT0 = 0x7ff8;&amp;nbsp; // disable high limits (should be default)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADHLMT1 = 0x7ff8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_ADHLMT2 = 0x7ff8;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_POWER = 0x00d0;&amp;nbsp; // enable adc&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (1) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_ADC_CTRL1 = 0x2000;&amp;nbsp; // start once sequential&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ms(500);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = MCF_ADC_ADRSLT0;&amp;nbsp; // read x and y&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y = MCF_ADC_ADRSLT1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%d: x = 0x%x; y = 0x%x\r\n", i++, x, y);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // set the LEDs&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (x &amp;lt; 0x3000 || x &amp;gt; 0x5000) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC |= 0x01;&amp;nbsp; // x axis gravity&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC &amp;amp;= ~0x01;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (y &amp;lt; 0x3000 || y &amp;gt; 0x5000) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC |= 0x02;&amp;nbsp; // y axis gravity&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC &amp;amp;= ~0x02;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCF_GPIO_PORTTC ^= 0x08;&amp;nbsp; // blink&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Dec 2007 01:55:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/m52221demo-board-accelerometer-strangeness/m-p/172294#M6478</guid>
      <dc:creator>RichTestardi</dc:creator>
      <dc:date>2007-12-12T01:55:00Z</dc:date>
    </item>
    <item>
      <title>Re: m52221demo board accelerometer strangeness</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/m52221demo-board-accelerometer-strangeness/m-p/172295#M6479</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Looks like a "typo" to me. They intended to make the other circuit.&lt;BR /&gt;&lt;BR /&gt;The output impedance of the MMA7260 is not specified, but from a side remark in an appnote I gathered it is on the order of several k ohms, but I can't find anything substantial in the datasheet. Thus it will work anyway. On the other hand, you can patch your board too if you want....&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Nov 2008 17:55:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/m52221demo-board-accelerometer-strangeness/m-p/172295#M6479</guid>
      <dc:creator>rew</dc:creator>
      <dc:date>2008-11-06T17:55:11Z</dc:date>
    </item>
  </channel>
</rss>

