c - 两个参数 c

标签 c arrays loops pwm

我正致力于一次启用多个 PWM,我不想复制粘贴代码 6 次,但我在启用 6 个不同的 PWM 时遇到了麻烦,有效的代码是:

    void pwmPinChoices(void){

    pwm_channel_disable(PWM, PWM_CHANNEL_7);
    pwm_pin6_instance.ul_prescaler = PWM_CMR_CPRE_CLKA;
    pwm_pin6_instance.ul_period = 100;
    pwm_pin6_instance.ul_duty = 50;
    pwm_pin6_instance.channel = PWM_CHANNEL_7;
    pwm_channel_init(PWM, &pwm_pin6_instance);
    pio_set_peripheral(PIOC, PIO_PERIPH_B, PIO_PC24B_PWML7);
    pwm_channel_enable(PWM, PWM_CHANNEL_7);
}

我希望能够更改 pwm_pinx_instance 和 pwm_channel_x,我尝试使用数组但它不起作用..

我试过的代码是:

    void pwmChoices(void){
    char ChlArr = [0, 1, 4, 5, 6, 7];
    char PinArr = [34, 36, 6, 7, 8, 9];

    for(int i = 0; i < 6; i++){
    pwm_channel_disable(PWM, PWM_CHANNEL_ChlArr[i]);
    pwm_PinArr[i]_instance.ul_prescaler = PWM_CMR_CPRE_CLKA;
    pwm_PinArr[i]_instance.ul_period = 100;
    pwm_PinArr[i]_instance.ul_duty = 50;
    pwm_PinArr[i]_instance.channel = PWM_CHANNEL_ChlArr[i];
    pwm_channel_init(PWM, &pwm_PinArr[i]_instance);
    pio_set_peripheral(PIOC, PIO_PERIPH_B, PIO_PC24B_PWMLChlArr[i]);
    pwm_channel_enable(PWM, PWM_CHANNEL_ChlArr[i]);
}

但是使用这段代码我得到了很多函数未声明的错误..

最佳答案

char ChlArr[] = {0, 1, 4, 5, 6, 7}
char PinArr[] = {34, 36, 6, 7, 8, 9};

而不是

char ChlArr = [0, 1, 4, 5, 6, 7];
char PinArr = [34, 36, 6, 7, 8, 9];

关于c - 两个参数 c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30214927/

相关文章:

c - 使用 dup2 重定向 stdin 和 stdout 时出现未定义错误

c - 如何解释声明 char *x[5]?

javascript - 连接 vs 插入 react js

python - 为什么我的列表不会遍历每个列表?

javascript - 在数组json中的单个对象中转换多个相同的键对象

c - 拼写器适用于某些单词,不适用于其他单词。不知道问题出在哪里

将结构中的小字段转换为较大的变量

c++ - 对于循环和输入数据?

c - 初始化从整数创建指针而不进行强制转换

python - 在 NumPy 中 reshape 数组