[Solved] Difference between Hardware and Software PWM.
-
What is the difference between hardware pwm and software pwm
-
@Richu-Bini thanks for posting the question . just for a brief about pwm, pulse width modulation technique is a method to change the duty cycle of a wave. Which means you can determine how much time a signal must be on or off.
So, coming to the question, software pwm and hardware pwm is just two different ways of producing same result. In software(referring Arduino here) you'll just write a value between 0 to 255 inorder to determine duty cycle percentage. For example 0 is 0% duty cycle which means the cycle is on for 0% of whole time, similarly 127 means 50% of time cycle will be on and 255 means signal will be on for ever. This is regarding software.
Coming to hardware, you can generate a pwm signal using very simple passive component, called as potentiometer and 555 timer IC by using 555 timer as bistable multivibrator(The generated output will have two stable states 0 and Vmax, hence the name bistable) and changing the resistance using a potentiometer generates different duty cycles. This is the difference between hardware and software pwm. Please let me know if I haven't explained what you have expected.
-
thank youu
Recent Posts
-
After reinstalling the portenta board file and restarting the computer, solved the problem.
-
Trying to run blink on portenta but getting the error?
error message:
Arduino: 1.8.13 (Windows 10), Board: "Arduino Portenta H7 (M7 core)" C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Faris\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Faris\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Faris\Documents\Arduino\libraries -fqbn=arduino:mbed:envie_m7 -vid-pid=2341_025B -ide-version=10813 -build-path C:\Users\Faris\AppData\Local\Temp\arduino_build_650727 -warnings=none -build-cache C:\Users\Faris\AppData\Local\Temp\arduino_cache_409352 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arm-none-eabi-gcc.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4 -prefs=runtime.tools.arm-none-eabi-gcc-7-2017q4.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4 -prefs=runtime.tools.bossac.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.9.1-arduino2 -prefs=runtime.tools.bossac-1.9.1-arduino2.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.9.1-arduino2 -prefs=runtime.tools.openocd.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\openocd\0.10.0-arduino13 -prefs=runtime.tools.openocd-0.10.0-arduino13.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\openocd\0.10.0-arduino13 -prefs=runtime.tools.dfu-util.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2 -prefs=runtime.tools.dfu-util-0.9.0-arduino2.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2 -verbose C:\Users\Faris\AppData\Local\Temp\arduino_modified_sketch_49117\Blink.ino C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\Faris\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Faris\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\Faris\Documents\Arduino\libraries -fqbn=arduino:mbed:envie_m7 -vid-pid=2341_025B -ide-version=10813 -build-path C:\Users\Faris\AppData\Local\Temp\arduino_build_650727 -warnings=none -build-cache C:\Users\Faris\AppData\Local\Temp\arduino_cache_409352 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arm-none-eabi-gcc.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4 -prefs=runtime.tools.arm-none-eabi-gcc-7-2017q4.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4 -prefs=runtime.tools.bossac.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.9.1-arduino2 -prefs=runtime.tools.bossac-1.9.1-arduino2.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.9.1-arduino2 -prefs=runtime.tools.openocd.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\openocd\0.10.0-arduino13 -prefs=runtime.tools.openocd-0.10.0-arduino13.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\openocd\0.10.0-arduino13 -prefs=runtime.tools.dfu-util.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2 -prefs=runtime.tools.dfu-util-0.9.0-arduino2.path=C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2 -verbose C:\Users\Faris\AppData\Local\Temp\arduino_modified_sketch_49117\Blink.ino Using board 'envie_m7' from platform in folder: C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.3.1 Using core 'arduino' from platform in folder: C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.3.1 Detecting libraries used... "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -c -w -g -Os -nostdlib "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/defines.txt" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/cxxflags.txt" -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10813 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=0 "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino/api/deprecated" "-iprefixC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/includes.txt" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE Generating function prototypes... "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -c -w -g -Os -nostdlib "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/defines.txt" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/cxxflags.txt" -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -w -x c++ -E -CC -DARDUINO=10813 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=0 "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino/api/deprecated" "-iprefixC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/includes.txt" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp" -o "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\preproc\\ctags_target_for_gcc_minus_e.cpp" -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\preproc\\ctags_target_for_gcc_minus_e.cpp" Compiling sketch... "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" -c -w -g -Os -nostdlib "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/defines.txt" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/cxxflags.txt" -MMD -mcpu=cortex-m7 -mfloat-abi=softfp -mfpu=fpv5-d16 -DARDUINO=10813 -DARDUINO_PORTENTA_H7_M7 -DARDUINO_ARCH_MBED -DARDUINO_LIBRARY_DISCOVERY_PHASE=0 "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7" "-IC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino/api/deprecated" "-iprefixC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\cores\\arduino" "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/includes.txt" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp" -o "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp.o" Compiling libraries... Compiling core... Using previously compiled file: C:\Users\Faris\AppData\Local\Temp\arduino_build_650727\core\variant.cpp.o Using precompiled core: C:\Users\Faris\AppData\Local\Temp\arduino_cache_409352\core\core_arduino_mbed_envie_m7_e26c816eecbb9bfaaa432fd6b53eb31d.a Linking everything together... "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-g++" "-LC:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727" -Wl,--gc-sections -w -Wl,--as-needed "@C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/ldflags.txt" "-TC:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/linker_script.ld" "-Wl,-Map,C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.map" --specs=nosys.specs -o "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.elf" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\sketch\\Blink.ino.cpp.o" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727\\core\\variant.cpp.o" -Wl,--whole-archive "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/..\\arduino_cache_409352\\core\\core_arduino_mbed_envie_m7_e26c816eecbb9bfaaa432fd6b53eb31d.a" "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\mbed\\1.3.1\\variants\\PORTENTA_H7_M7/libs/libmbed.a" -Wl,--no-whole-archive -Wl,--start-group -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys -Wl,--end-group "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-objcopy" -O binary "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.elf" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.bin" "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-objcopy" -O ihex -R .eeprom "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.elf" "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.hex" "C:\\Users\\Faris\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arm-none-eabi-gcc\\7-2017q4/bin/arm-none-eabi-size" -A "C:\\Users\\Faris\\AppData\\Local\\Temp\\arduino_build_650727/Blink.ino.elf" Sketch uses 130248 bytes (16%) of program storage space. Maximum is 786432 bytes. Global variables use 57280 bytes (10%) of dynamic memory, leaving 466344 bytes for local variables. Maximum is 523624 bytes. Forcing reset using 1200bps open/close on port COM12 PORTS {COM12, } / {} => {} PORTS {} / {} => {} PORTS {} / {COM13, } => {COM13, } Found upload port: COM13 C:\Users\Faris\AppData\Local\Arduino15\packages\arduino\tools\dfu-util\0.9.0-arduino2/dfu-util --device 0x2341:0x035b -D C:\Users\Faris\AppData\Local\Temp\arduino_build_650727/Blink.ino.bin -a0 --dfuse-address=0x08040000:leave dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2020 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release!!! Cannot open DFU device 2341:035b Cannot open DFU device 2341:035b No DFU capable USB device available An error occurred while uploading the sketch -
Did anyone use Arduino Portenta H7 with Arduino IOT Cloud? It is listed on IOT Cloud Page but it's not supporting!
When I was trying to connect the board with the, it says The device found is not compatible
But it's listed in the supporting board page.
also mentioned in the portenta page .
https://www.arduino.cc/en/IoT/HomePage https://store.arduino.cc/usa/portenta-h7 -
. solved right?
-
R
@Richu-Bini sry guys its my fault i forget to put 'a' in int main (void)
.... 2 days to find an 'a'