<?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>MQX Software Solutions中的主题 Re: PWM driver for MCF5225x</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182236#M2878</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Note : The "concatenate" mode (16 bit PWM) has never been tested&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 Nov 2011 23:28:21 GMT</pubDate>
    <dc:creator>trailman</dc:creator>
    <dc:date>2011-11-11T23:28:21Z</dc:date>
    <item>
      <title>PWM driver for MCF5225x</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182235#M2877</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, this is another PWM driver for MCF5225x, but when I wrote it no driver was available.&lt;/P&gt;&lt;P&gt;Snce this time a driver was posted on the forum by Myke (&lt;A href="https://community.freescale.com/message/69804#69804" title="https://community.freescale.com/message/69804#69804"&gt;https://community.freescale.com/message/69804#69804&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;I post mine now in cas it would help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It only has 3 IOCTLs :&lt;/P&gt;&lt;P&gt;- one to init PWM module&lt;/P&gt;&lt;P&gt;- one to init a pin for PWM and set an initial period and duty&lt;/P&gt;&lt;P&gt;- one to update period/duty.&lt;/P&gt;&lt;P&gt;It has been written to drive some fans.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To use it :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- in&amp;nbsp; mqx/source/include/ioctl.h , add the following #define&lt;BR /&gt;#define IO_TYPE_GPTIN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xNN&lt;BR /&gt;where 0xNN is an unused value for your BSP&lt;BR /&gt;&lt;BR /&gt;- in mqx/source/psp/coldfire/mcf5225.h , in mcf5225_pwm_struct, replace :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uchar&amp;nbsp;&amp;nbsp;&amp;nbsp; filler[0xFFDB];&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;with&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uchar&amp;nbsp;&amp;nbsp;&amp;nbsp; filler3;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uchar&amp;nbsp;&amp;nbsp;&amp;nbsp; PCME;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PWM PCM Mode Enable register&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uchar&amp;nbsp;&amp;nbsp;&amp;nbsp; filler[0xFFD9];&lt;BR /&gt;&lt;BR /&gt;- install the driver source files in mqx/source/io&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- then use the driver using its simple API :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Install driver :&lt;BR /&gt;_io_pwm_install("pwm:");&lt;BR /&gt;&lt;BR /&gt;Open device ;&lt;BR /&gt;FILE_PTR fdpwm;&lt;BR /&gt;if ((fdpwm = fopen("pwm:", NULL )) == NULL) {&lt;BR /&gt;&amp;nbsp; printf("Opening PWM device driver failed.\n");&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;Configure PWM module :&lt;BR /&gt;PWM_DEV_CONFIG_DATA pwm_conf_data;&lt;BR /&gt;pwm_conf_data.clock_Sys_to_A_divisor = 0;&amp;nbsp; /* 2**n, 0&amp;lt;=n&amp;lt;=7 */&lt;BR /&gt;pwm_conf_data.clock_Sys_to_B_divisor = 0;&amp;nbsp; /* 2**n, 0&amp;lt;=n&amp;lt;=7 */&lt;BR /&gt;pwm_conf_data.clock_A_to_AS_divisor = 60;&amp;nbsp;&amp;nbsp; /* 2*n, or 512 if n=0 */&lt;BR /&gt;pwm_conf_data.clock_B_to_BS_divisor = 60;&amp;nbsp;&amp;nbsp; /* 2*n, or 512 if n=0 */&lt;BR /&gt;if (ioctl(fdpwm, PWM_IOCTL_CONFIG, &amp;amp;pwm_conf_data)) {&lt;BR /&gt;&amp;nbsp; printf("PWM_IOCTL_CONFIG failed.\n");&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;Configure a pin and set initial period and duty cycle :&lt;BR /&gt;pwm_pin_data.pwm_pin = 2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 0-7 */&lt;BR /&gt;pwm_pin_data.polarity = 1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 1 for active high */&lt;BR /&gt;pwm_pin_data.xS_clock_select = 1; /* 1 for AS/BS clock instead of A/B; A for 0,1,4,5 / B for 2,3,6,7 */&lt;BR /&gt;pwm_pin_data.center_aligned = 0;&amp;nbsp; /* 1 for center aligned */&lt;BR /&gt;pwm_pin_data.concatenate = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 1 to concatenate odd channel n with channel n-1 */&lt;BR /&gt;pwm_pin_data.stop_doze = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* stop PWM in doze mode */&lt;BR /&gt;pwm_pin_data.stop_debug = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* stop PWM in debug mode */&lt;BR /&gt;pwm_pin_data.pcm_enable = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 1 to use PCM instead of PWM */&lt;BR /&gt;pwm_pin_data.period = 200;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 0-255, or 0-65535 if concatenate=1 */&lt;BR /&gt;pwm_pin_data.duty = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* 0-period; 0:0%; period:100% */&lt;BR /&gt;if (ioctl(fdpwm, PWM_IOCTL_ENABLE_PIN, &amp;amp;pwm_pin_data)) {&lt;BR /&gt;&amp;nbsp; printf("PWM_IOCTL_ENABLE_PIN failed.\n");&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;Change period and duty cycle :&lt;BR /&gt;pwm_change_data.pwm_pin = 2;&lt;BR /&gt;pwm_change_data.period = 200;&lt;BR /&gt;pwm_change_data.duty = 70; /* 35 % PWM (70 for 200) */&lt;BR /&gt;if (ioctl(fdpwm, PWM_IOCTL_CHANGE_DUTY, &amp;amp;pwm_change_data)) {&lt;BR /&gt;&amp;nbsp; printf("PWM_DEV_CHANGE_DUTY_DATA failed.\n");&lt;BR /&gt;&amp;nbsp; _mqx_exit(-1);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Nov 2011 23:18:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182235#M2877</guid>
      <dc:creator>trailman</dc:creator>
      <dc:date>2011-11-11T23:18:54Z</dc:date>
    </item>
    <item>
      <title>Re: PWM driver for MCF5225x</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182236#M2878</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Note : The "concatenate" mode (16 bit PWM) has never been tested&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Nov 2011 23:28:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182236#M2878</guid>
      <dc:creator>trailman</dc:creator>
      <dc:date>2011-11-11T23:28:21Z</dc:date>
    </item>
    <item>
      <title>Re: PWM driver for MCF5225x</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182237#M2879</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;This driver is exactly what i need&lt;/P&gt;&lt;P&gt;.....BUT ...&lt;/P&gt;&lt;P&gt;I'm a newby on this forum&lt;/P&gt;&lt;P&gt;and I don't know how to download your PWM driver ?&lt;/P&gt;&lt;P&gt;Any help ?&lt;/P&gt;&lt;P&gt;Thank's&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Mar 2013 17:46:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182237#M2879</guid>
      <dc:creator>jean-lucpetitpi</dc:creator>
      <dc:date>2013-03-14T17:46:13Z</dc:date>
    </item>
    <item>
      <title>Re: PWM driver for MCF5225x</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182238#M2880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jean-Luc,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code as attachment has been lost when freescale moved the forum to its new version.&lt;/P&gt;&lt;P&gt;I've rebuilt the .zip today, please find it attached below&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Gilles&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Mar 2013 20:36:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182238#M2880</guid>
      <dc:creator>trailman</dc:creator>
      <dc:date>2013-03-14T20:36:53Z</dc:date>
    </item>
    <item>
      <title>Re: PWM driver for MCF5225x</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182239#M2881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;So nice, so quickly, that's all what I want.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Merci pour l'entraide, à charge de revanche.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;@+&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Mar 2013 07:32:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182239#M2881</guid>
      <dc:creator>jean-lucpetitpi</dc:creator>
      <dc:date>2013-03-15T07:32:28Z</dc:date>
    </item>
    <item>
      <title>Re: PWM driver for MCF5225x</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182240#M2882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I found an error in my first post : you must edit mqx/source/include/ioctl.h to add :&lt;/P&gt;&lt;P&gt;&amp;nbsp; #define IO_TYPE_PWM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xNN&lt;/P&gt;&lt;P&gt;&amp;nbsp; where 0xNN is an unused value for your BSP&lt;/P&gt;&lt;P&gt;not IO_TYPE_GPTIN (this was a copy of another post for a GPTIN driver)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Oct 2013 20:06:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/PWM-driver-for-MCF5225x/m-p/182240#M2882</guid>
      <dc:creator>trailman</dc:creator>
      <dc:date>2013-10-09T20:06:06Z</dc:date>
    </item>
  </channel>
</rss>

