<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[T113S3的pwm默认极性问题]]></title><description><![CDATA[<p dir="auto">各位大佬们好!<br />
刚刚再看pwm的部分,发现手册写的是默认是0,如下图<br />
<img src="/assets/uploads/files/1781685225503-901c986e-b833-4a8d-a569-edb2b993de7c-image.png" alt="901c986e-b833-4a8d-a569-edb2b993de7c-image.png" class=" img-responsive img-markdown" width="1039" height="905" /><br />
但是在驱动中加了打印,为啥默认读出来的是1呢?<br />
代码路径:<br />
pwm-sunxi-group.c--&gt;sunxi_pwm_probe--&gt;pwmchip_add--&gt;core.c--&gt;pwmchip_add_with_polarity--&gt;(chip-&gt;ops-&gt;get_state)--&gt;sunxi_pwm_get_state<br />
代码如下:</p>
<pre><code>static void sunxi_pwm_get_state(struct pwm_chip *pwm_chip,
             struct pwm_device *pwm_device,
             struct pwm_state *state)
{   
    unsigned int reg_offset;
    u32 val, sel;
    struct sunxi_pwm_chip *pc;
    pc = to_sunxi_pwm_chip(pwm_chip);
    sel = pwm_device-&gt;pwm - pwm_chip-&gt;base;
    reg_offset = pc-&gt;data-&gt;pcr_base_offset + sel * PWM_REG_UNIFORM_OFFSET;
    val = sunxi_pwm_readl(pwm_chip, reg_offset);
    if (val &amp; BIT_MASK(8))
        state-&gt;polarity = PWM_POLARITY_NORMAL; 
    else
        state-&gt;polarity = PWM_POLARITY_INVERSED;
    pr_err("polarity = %d\n", state-&gt;polarity);
}

</code></pre>
<p dir="auto">默认打印出来是1,是手册写错了吗?</p>
]]></description><link>https://bbs.aw-ol.com/topic/7042/t113s3的pwm默认极性问题</link><generator>RSS for Node</generator><lastBuildDate>Tue, 23 Jun 2026 18:41:07 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/7042.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Jun 2026 08:39:12 GMT</pubDate><ttl>60</ttl></channel></rss>