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