Dear Sir.
Some problem with the PWM .
Pwm output on pin 12 is connected to a buzzer.
int pwm_init(void) { struct device *pwm_dev = device_get_binding("PWM_0"); if (!pwm_dev) { printk("Cannot find %s!\n", "PWM_0"); SetLed(RED,ON); while(1) {}; return; } if (pwm_pin_set_usec(pwm_dev,PWM_IO, 260, 130,0)) { printk("pwm pin set fails\n"); SetLed(RED,ON); while(1) {}; return; } // else // SetLed(GREEN,ON); }
void main(void) { int err; static unsigned int i = 0; k_work_init(&work_bz, bz_func); k_work_init(&work_spi, spi_work_func); k_work_init(&work_top, work_top_func); initStructures(); // Ephraim 26_5_2020 _AFE4900_AQUIRE_MODE.aquire_mode = afe4900_aquire_sample; k_timer_init(&bz_timer, bz_func, NULL); // k_timer_start(&bz_timer, K_MSEC(TIEMR_INTERVAL_mSEC), K_MSEC(TIEMR_INTERVAL_mSEC)); k_timer_start(&bz_timer, K_MSEC(TIEMR_INTERVAL_SEC), K_MSEC(TIEMR_INTERVAL_SEC)); // k_timer_init(&my_timer, my_expiry_function, NULL); // k_timer_start(&my_timer, K_SECONDS(TIEMR_INTERVAL_SEC), K_SECONDS(TIEMR_INTERVAL_SEC)); io_init(); pwm_init(); // if (pwm_pin_set_usec(pwm_dev,PWM_IO, 260, 130,0)) { // printk("pwm pin set fails\n"); // SetLed(RED,ON); // while(1) {}; // return; // } _BZ_SM.bz_state = BZ_silence; // k_sleep(K_MSEC(1000)); while(1) { // gpio_pin_write(dev_io, 15, 1); // gpio_pin_write(dev_io, 26, 1); k_sleep(K_MSEC(1000)); // gpio_pin_write(dev_io, 14, 0); // gpio_pin_write(dev_io, 26, 0); // k_sleep(K_MSEC(10)); };
When pwm_pin_set_usec(pwm_dev,PWM_IO, 260, 130,0) is set through the pwm_init routine , I hear the buzzer after 30 to 40 seconds.
If I set the pwm_pin_set_usec(pwm_dev,PWM_IO, 260, 130,0) in the main ( commenting out the pwm_init pwm_pin_set_usec(pwm_dev,PWM_IO, 260, 130,0))
no sound at all
Please Advise#
# Copyright (c) 2019 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic
#
# General config
CONFIG_TEST_RANDOM_GENERATOR=y
#CONFIG_UART_CONSOLE=n
#CONFIG_RTT_CONSOLE=y
#CONFIG_USE_SEGGER_RTT=y
# debug
#CONFIG_NET_LOG=y
#CONFIG_MQTT_LOG_LEVEL_DBG=y
CONFIG_NEWLIB_LIBC=y
# Networking
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=n
CONFIG_NET_SOCKETS_OFFLOAD=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y
# LTE link control
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_AUTO_INIT_AND_CONNECT=n
# BSD library
CONFIG_BSD_LIBRARY=y
# AT Host
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_AT_HOST_LIBRARY=y
# MQTT
CONFIG_MQTT_LIB=y
CONFIG_MQTT_LIB_TLS=n
# Appliaction
CONFIG_MQTT_PUB_TOPIC="ES_pub"
CONFIG_MQTT_SUB_TOPIC="ES"
CONFIG_MQTT_CLIENT_ID="my-client-id"
CONFIG_MQTT_BROKER_HOSTNAME="172.104.219.222"
CONFIG_MQTT_BROKER_PORT=1883
# ADC
#CONFIG_ADC = y
#CONFIG_ADC_0 = y
#CONFIG_ADC_NRFX_SAADC = y
# UART
#CONFIG_UART_1_NRF_UARTE = y
#CONFIG_UART_1 = y
#CONFIG_AT_HOST_UART = 1
# SPI
CONFIG_SPI=y
CONFIG_SPI_3=y
CONFIG_SPI_3_NRF_SPIM=y
CONFIG_SPI_1=y
CONFIG_SPI_1_NRF_SPIM=y
CONFIG_SPI_NRFX=y
#CONFIG_SPI_ASYNC = n
# IO
CONFIG_GPIO=y
# PWM
CONFIG_PWM=y
# I2C
CONFIG_I2C=y
CONFIG_I2C_NRFX=y
CONFIG_I2C_2=y
CONFIG_I2C_2_NRF_TWIM=y
CONFIG_I2C_INIT_PRIORITY=60
#CONFIG_MAIN_STACK_SIZE=4096
# Main thread
CONFIG_MAIN_THREAD_PRIORITY=7
CONFIG_MAIN_STACK_SIZE=8192
CONFIG_HEAP_MEM_POOL_SIZE=4096