STMicroelectronics UM3469 X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ ਵਿਸਥਾਰ

ਜਾਣ-ਪਛਾਣ
STM32Cube ਲਈ X-CUBE-ISO1 ਐਕਸਪੈਂਸ਼ਨ ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ STM32 'ਤੇ ਚੱਲਦਾ ਹੈ ਅਤੇ ਇਸ ਵਿੱਚ X-NUCLEO-ISO1A1 ਲਈ ਫਰਮਵੇਅਰ ਸ਼ਾਮਲ ਹੈ। ਇਹ ਸਾਫਟਵੇਅਰ X-NUCLEO ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਇੱਕ ਬੁਨਿਆਦੀ PLC ਡਿਵਾਈਸ ਦੇ ਵਿਕਾਸ ਲਈ ਵਰਤੋਂ ਵਿੱਚ ਆਸਾਨ ਹੱਲ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ ਐਕਸਪੈਂਸ਼ਨ STM32Cube ਸਾਫਟਵੇਅਰ ਤਕਨਾਲੋਜੀ 'ਤੇ ਬਣਾਇਆ ਗਿਆ ਹੈ ਤਾਂ ਜੋ ਵੱਖ-ਵੱਖ STM32 ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰਾਂ ਵਿੱਚ ਪੋਰਟੇਬਿਲਟੀ ਨੂੰ ਆਸਾਨ ਬਣਾਇਆ ਜਾ ਸਕੇ।
ਇਹ ਸਾਫਟਵੇਅਰ X-NUCLEO-ISO1A1 ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ 'ਤੇ ਚੱਲ ਰਹੇ ਇੱਕ ਲਾਗੂਕਰਨ ਦੇ ਨਾਲ ਆਉਂਦਾ ਹੈ ਜੋ NUCLEO-G071RB ਵਿਕਾਸ ਬੋਰਡ (ਜਾਂ ਜਾਂ ਤਾਂ ਇੱਕ NUCLEO-G0B1RE ਜਾਂ ਇੱਕ NUCLEO-G070RB) ਨਾਲ ਜੁੜਿਆ ਹੁੰਦਾ ਹੈ। ਹੁਣ ਤੋਂ, ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਸਰਲਤਾ ਲਈ ਸਿਰਫ਼ NUCLEO-G071RB ਦਾ ਜ਼ਿਕਰ ਕੀਤਾ ਜਾਵੇਗਾ।
X-NUCLEO-ISO1A1 ਬੋਰਡ ਨੂੰ ਇਨਪੁਟ ਅਤੇ ਆਉਟਪੁੱਟ ਸਮਰੱਥਾਵਾਂ ਨੂੰ ਵਧਾਉਣ ਲਈ ਢੁਕਵੇਂ ਜੰਪਰ ਸੈਟਿੰਗਾਂ ਦੇ ਨਾਲ ਦੋ ਬੋਰਡਾਂ ਦੇ ਸਟੈਕਿੰਗ ਦਾ ਸਮਰਥਨ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ।
ਸੰਖੇਪ ਅਤੇ ਸੰਖੇਪ ਰੂਪ
ਸਾਰਣੀ 1. ਸੰਖੇਪ ਸ਼ਬਦਾਂ ਦੀ ਸੂਚੀ
| ਸੰਖੇਪ | ਵਰਣਨ |
| ਪੀ.ਐਲ.ਸੀ | ਪ੍ਰੋਗਰਾਮੇਬਲ ਤਰਕ ਕੰਟਰੋਲਰ |
| API | ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰੋਗਰਾਮਿੰਗ ਇੰਟਰਫੇਸ |
| PWM | ਪਲਸ ਚੌੜਾਈ ਮੋਡਿਊਲੇਸ਼ਨ |
| GPIO | ਆਮ-ਉਦੇਸ਼ ਇੰਪੁੱਟ/ਆਊਟਪੁੱਟ। |
| ਐੱਚ.ਏ.ਐੱਲ | ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ |
| PC | ਨਿੱਜੀ ਕੰਪਿਊਟਰ |
| FW | ਫਰਮਵੇਅਰ |
STM32Cube ਕੀ ਹੈ?
STM32Cube™ STMicroelectronics ਪਹਿਲਕਦਮੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ ਵਿਕਾਸ ਯਤਨਾਂ, ਸਮੇਂ ਅਤੇ ਲਾਗਤ ਨੂੰ ਘਟਾ ਕੇ ਡਿਵੈਲਪਰਾਂ ਦੇ ਜੀਵਨ ਨੂੰ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ। STM32Cube STM32 ਪੋਰਟਫੋਲੀਓ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ।
STM32Cube ਵਰਜਨ 1.x ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- STM32CubeMX, ਇੱਕ ਗ੍ਰਾਫਿਕਲ ਸਾਫਟਵੇਅਰ ਕੌਂਫਿਗਰੇਸ਼ਨ ਟੂਲ ਜੋ ਗ੍ਰਾਫਿਕਲ ਵਿਜ਼ਾਰਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ C ਸ਼ੁਰੂਆਤੀ ਕੋਡ ਬਣਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
- ਹਰੇਕ ਲੜੀ ਲਈ ਇੱਕ ਵਿਆਪਕ ਏਮਬੈਡਡ ਸਾਫਟਵੇਅਰ ਪਲੇਟਫਾਰਮ (ਜਿਵੇਂ ਕਿ STM32G0 ਲੜੀ ਲਈ STM32CubeG0), ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- STM32Cube HAL ਵਿੱਚ ਏਮਬੈਡਡ ਐਬਸਟਰੈਕਸ਼ਨ-ਲੇਅਰ ਸਾਫਟਵੇਅਰ, STM32 ਪੋਰਟਫੋਲੀਓ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ ਪੋਰਟੇਬਿਲਟੀ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ।
- ਮਿਡਲਵੇਅਰ ਹਿੱਸਿਆਂ ਦਾ ਇੱਕ ਇਕਸਾਰ ਸਮੂਹ ਜਿਵੇਂ ਕਿ RTOS, USB, TCP/IP, ਅਤੇ ਗ੍ਰਾਫਿਕਸ
- ਸਾਰੇ ਏਮਬੈਡਡ ਸਾਫਟਵੇਅਰ ਉਪਯੋਗਤਾਵਾਂ, ਸਾਬਕਾ ਦੇ ਪੂਰੇ ਸੈੱਟ ਦੇ ਨਾਲamples.
STM32Cube ਆਰਕੀਟੈਕਚਰ
STM32Cube ਫਰਮਵੇਅਰ ਹੱਲ ਤਿੰਨ ਸੁਤੰਤਰ ਪੱਧਰਾਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਬਣਾਇਆ ਗਿਆ ਹੈ ਜੋ ਇੱਕ ਦੂਜੇ ਨਾਲ ਆਸਾਨੀ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤੇ ਚਿੱਤਰ ਵਿੱਚ ਦੱਸਿਆ ਗਿਆ ਹੈ।

STM32Cube ਲਈ X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ ਵਿਸਥਾਰ
ਵੱਧview
X-NUCLEO-ISO1A1 ਲਈ ਫਰਮਵੇਅਰ, ਉਦਯੋਗਿਕ ਅਲੱਗ-ਥਲੱਗ ਇਨਪੁਟ/ਆਉਟਪੁੱਟ ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ, ਜੋ ਕਿ STM32 ਵਾਤਾਵਰਣਾਂ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਵਿਕਸਤ ਕੀਤਾ ਗਿਆ ਹੈ, STM32 ਨਿਊਕਲੀਓ ਬੋਰਡਾਂ ਦੇ ਉੱਚ-ਪ੍ਰਦਰਸ਼ਨ ਵਾਲੇ MCU ਦਾ ਲਾਭ ਉਠਾਉਂਦਾ ਹੈ ਤਾਂ ਜੋ ਡਿਜੀਟਲ ਇਨਪੁਟਸ, ਗਤੀਸ਼ੀਲ ਮੌਜੂਦਾ ਸੀਮਾ ਦੇ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਡਾਇਗਨੌਸਟਿਕਸ ਦੇ ਨਾਲ ਆਉਟਪੁੱਟ, ਅਤੇ PWM ਸਿਗਨਲ ਜਨਰੇਸ਼ਨ ਦਾ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾ ਸਕੇ। ਇਸ ਵਿੱਚ ਵਿਆਪਕ ਬੋਰਡ ਸੰਰਚਨਾ ਅਤੇ ਨਿਯੰਤਰਣ ਸ਼ਾਮਲ ਹੈ, ਜਿਸ ਵਿੱਚ ਡਿਫਾਲਟ ਅਤੇ ਵਿਕਲਪਿਕ ਸਥਿਤੀਆਂ ਲਈ ਫਰੇਮਵਰਕ, ਪ੍ਰੀ-ਸਕੇਲਰ ਮੁੱਲ ਸੈੱਟ ਕਰਨ ਲਈ ਮੈਕਰੋ, ਅਤੇ GPIO ਪੋਰਟਾਂ ਅਤੇ ਪਿੰਨਾਂ ਲਈ ਪਰਿਭਾਸ਼ਾਵਾਂ ਸ਼ਾਮਲ ਹਨ।
ਇਹ ਵੱਖ-ਵੱਖ s ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈampਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਦੇ ਮਾਮਲੇ ਜਿਵੇਂ ਕਿ ਡਿਜੀਟਲ ਇਨਪੁਟ ਤੋਂ ਆਉਟਪੁੱਟ ਮਿਰਰਿੰਗ, ਨਿਊਕਲੀਓ ਬੋਰਡ ਰਾਹੀਂ UART ਸੰਚਾਰ, ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ, ਟੈਸਟ ਕੇਸ, ਅਤੇ PWM ਜਨਰੇਸ਼ਨ, ਜਿਨ੍ਹਾਂ ਨੂੰ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਆਸਾਨੀ ਨਾਲ ਅਨੁਕੂਲਿਤ ਅਤੇ ਵਧਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।
API ਡਿਜੀਟਲ ਇਨਪੁਟ/ਆਉਟਪੁੱਟ ਕੰਟਰੋਲ, ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ, ਅਤੇ ਬੋਰਡ ਸਟੇਟਸ ਅਪਡੇਟਸ ਲਈ ਫੰਕਸ਼ਨਾਂ ਦਾ ਇੱਕ ਮਜ਼ਬੂਤ ਸੈੱਟ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਦੋ ਬੋਰਡਾਂ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਵੱਖ-ਵੱਖ ਮੋਡਾਂ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਕੌਂਫਿਗਰੇਸ਼ਨ ਸੈਟਿੰਗਾਂ ਹਨ। ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਚੈਨਲਾਂ ਲਈ PWM ਸਿਗਨਲਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ, ਸ਼ੁਰੂ ਕਰਨ, ਰੋਕਣ ਅਤੇ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਖਾਸ API ਫੰਕਸ਼ਨ ਉਪਲਬਧ ਹਨ।
ਬੋਰਡ ਸਪੋਰਟ ਪੈਕੇਜ ਵਿੱਚ IPS1025H-32 ਨਾਲ ਇੰਟਰਫੇਸ ਕੀਤੇ GPIO ਪਿੰਨਾਂ ਨੂੰ ਕੰਟਰੋਲ ਅਤੇ ਨਿਗਰਾਨੀ ਕਰਨ ਅਤੇ ਇੱਕ ਡਿਜੀਟਲ ਆਈਸੋਲੇਟਰ ਰਾਹੀਂ CLT03-2Q3 ਨਾਲ ਇੰਟਰਫੇਸ ਕੀਤੇ GPIO ਪਿੰਨਾਂ ਦੀ ਸਥਿਤੀ ਨੂੰ ਪੜ੍ਹਨ ਲਈ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਹਨ।
ਸੰਰਚਨਾ ਅਤੇ ਸ਼ੁਰੂਆਤੀਕਰਨ STM32CubeMX 'ਤੇ ਅਧਾਰਤ ਹਨ, ਵਿਕਾਸ ਅਤੇ ਡੀਬੱਗਿੰਗ STM32CubeIDE, IAR ਸਿਸਟਮ, ਅਤੇ Keil® ਟੂਲਸ ਦੁਆਰਾ ਸਮਰਥਤ ਹਨ।
ਆਰਕੀਟੈਕਚਰ
X-NUCLEO-ISO1A1 ਲਈ ਫਰਮਵੇਅਰ ਨੂੰ ਕਈ ਵੱਖ-ਵੱਖ ਫੰਕਸ਼ਨਲ ਬਲਾਕਾਂ ਵਿੱਚ ਵੰਡਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਹਰ ਇੱਕ ਸਿਸਟਮ ਦੇ ਕਾਰਜਾਂ ਦੇ ਵੱਖ-ਵੱਖ ਪਹਿਲੂਆਂ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਹੈ:

- ਬੋਰਡ ਸੰਰਚਨਾ ਅਤੇ ਨਿਯੰਤਰਣ:
- ਬੋਰਡ_ਕੌਨਫਿਗ.ਐਚ file ਇਸ ਵਿੱਚ ਬੋਰਡ ਨੂੰ ਡਿਫੌਲਟ ਜਾਂ ਵਿਕਲਪਿਕ ਸਥਿਤੀਆਂ, ਜਾਂ ਦੋਵਾਂ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਮੈਕਰੋ ਸ਼ਾਮਲ ਹਨ। ਇਸ ਵਿੱਚ ਪ੍ਰੀ-ਸਕੇਲਰ ਮੁੱਲਾਂ ਅਤੇ GPIO ਪੋਰਟਾਂ ਅਤੇ ਪਿੰਨਾਂ ਲਈ ਪਰਿਭਾਸ਼ਾਵਾਂ ਵੀ ਸ਼ਾਮਲ ਹਨ।
- ਇਹ ਬਲਾਕ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਬੋਰਡ ਲੋੜੀਂਦੀਆਂ ਓਪਰੇਟਿੰਗ ਹਾਲਤਾਂ ਲਈ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟਅੱਪ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਸਾਰੀਆਂ ਜ਼ਰੂਰੀ ਹਾਰਡਵੇਅਰ ਸੰਰਚਨਾਵਾਂ ਮੌਜੂਦ ਹਨ।
- ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਦੇ ਮਾਮਲੇ:
- st_iso_app.h ਅਤੇ st_iso_app.c files ਵਿੱਚ ਬੋਰਡ ਦੀਆਂ ਵੱਖ-ਵੱਖ ਕਾਰਜਕੁਸ਼ਲਤਾਵਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤੇ ਗਏ ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਦੇ ਕੇਸ ਸ਼ਾਮਲ ਹਨ।
- ਇਹਨਾਂ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ ਵਿੱਚ ਡਿਜੀਟਲ ਇਨਪੁੱਟ ਤੋਂ ਆਉਟਪੁੱਟ ਮਿਰਰਿੰਗ, ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ ਟੈਸਟ, ਅਤੇ PWM ਸਿਗਨਲ ਜਨਰੇਸ਼ਨ ਸ਼ਾਮਲ ਹਨ।
- Exampਦੋ ਬੋਰਡਾਂ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਵੱਖ-ਵੱਖ ਮੋਡਾਂ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਸੰਰਚਨਾਵਾਂ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ, ਜੋ ਫਰਮਵੇਅਰ ਦੀ ਬਹੁਪੱਖੀਤਾ ਅਤੇ ਲਚਕਤਾ ਨੂੰ ਦਰਸਾਉਂਦੀਆਂ ਹਨ।
- API ਫੰਕਸ਼ਨ:
- iso1a1.h ਅਤੇ iso1a1.c files ਵੱਖ-ਵੱਖ ਕਾਰਜਸ਼ੀਲਤਾਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਨ ਲਈ API ਦਾ ਇੱਕ ਵਿਆਪਕ ਸੈੱਟ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
- ਇਹਨਾਂ API ਵਿੱਚ ਡਿਜੀਟਲ ਇਨਪੁਟ/ਆਉਟਪੁੱਟ ਕੰਟਰੋਲ, ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ, ਅਤੇ ਬੋਰਡ ਸਟੇਟਸ ਅੱਪਡੇਟ ਲਈ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਹਨ।
- API ਨੂੰ ਸਰਲ ਅਤੇ ਅਨੁਭਵੀ ਬਣਾਉਣ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਸ ਨਾਲ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਬੋਰਡ ਨਾਲ ਗੱਲਬਾਤ ਕਰਨਾ ਅਤੇ ਜ਼ਰੂਰੀ ਕਾਰਜ ਕਰਨਾ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ।
- PWM ਸਿਗਨਲ ਕੰਟਰੋਲ:
- pwm_api.h ਅਤੇ pwm_api.c files ਵਿੱਚ PWM ਸਿਗਨਲ ਜਨਰੇਸ਼ਨ ਨਾਲ ਸਬੰਧਤ ਖਾਸ API ਫੰਕਸ਼ਨ ਹੁੰਦੇ ਹਨ।
- ਇਹ ਫੰਕਸ਼ਨ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਚੈਨਲਾਂ ਲਈ PWM ਸਿਗਨਲਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ, ਸੰਰਚਿਤ ਕਰਨ, ਸ਼ੁਰੂ ਕਰਨ ਅਤੇ ਰੋਕਣ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ।
- PWM ਕਾਰਜਸ਼ੀਲਤਾ ਡਿਫਾਲਟ ਚੋਣ ਨਹੀਂ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ ਬੋਰਡ ਸੰਰਚਨਾ ਨੂੰ ਸੋਧਿਆ ਗਿਆ ਹੈ। ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ ਭਾਗ 3.5: API ਵੇਖੋ।
- ਬੋਰਡ ਸਹਾਇਤਾ ਪੈਕੇਜ:
- ਬੋਰਡ ਸਹਾਇਤਾ ਪੈਕੇਜ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ fileIPS1025H-32 ਨਾਲ ਇੰਟਰਫੇਸ ਕੀਤੇ GPIO ਪਿੰਨਾਂ ਨੂੰ ਕੰਟਰੋਲ ਅਤੇ ਨਿਗਰਾਨੀ ਕਰਨ ਅਤੇ CLT03-2Q3 ਨਾਲ ਇੰਟਰਫੇਸ ਕੀਤੇ GPIO ਪਿੰਨਾਂ ਦੀ ਸਥਿਤੀ ਨੂੰ ਪੜ੍ਹਨ ਲਈ।
- ips1025h_32.h ਅਤੇ ips1025h_32.c files IPS1025H-32 ਨਾਲ ਇੰਟਰਫੇਸ ਕੀਤੇ GPIO ਪਿੰਨਾਂ 'ਤੇ ਨੁਕਸ ਸੈੱਟ ਕਰਨ, ਸਾਫ਼ ਕਰਨ ਅਤੇ ਖੋਜਣ ਲਈ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
- clt03_2q3.h ਅਤੇ clt03_2q3.c files CLT03-2Q3 ਨਾਲ ਇੰਟਰਫੇਸ ਕੀਤੇ GPIO ਪਿੰਨਾਂ ਦੀ ਸਥਿਤੀ ਨੂੰ ਪੜ੍ਹਨ ਲਈ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
ਡੈਮੋਸਟ੍ਰੇਸ਼ਨ ਫਰਮਵੇਅਰ ਸਿਸਟਮ ਦੀਆਂ ਸਮਰੱਥਾਵਾਂ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਲਈ ਕਈ ਸਧਾਰਨ ਵਰਤੋਂ ਦੇ ਕੇਸਾਂ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਇਹ ਵਰਤੋਂ ਦੇ ਕੇਸ ਅਤੇ ਉਪਭੋਗਤਾ API ਸੁਚਾਰੂ ਸੰਚਾਲਨ ਅਤੇ ਸਹੀ ਨਤੀਜਿਆਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਤਾਲਮੇਲ ਵਾਲੇ ਢੰਗ ਨਾਲ ਚਲਾਏ ਜਾਂਦੇ ਹਨ। ਆਰਕੀਟੈਕਚਰ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਵਿਸਤਾਰਯੋਗ ਬਣਾਉਣ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਸ ਨਾਲ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਨਵੀਆਂ ਕਾਰਜਸ਼ੀਲਤਾਵਾਂ ਜੋੜਨ ਅਤੇ ਲੋੜ ਅਨੁਸਾਰ ਕੇਸਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ। ਡਿਜੀਟਲ ਉਦਯੋਗਿਕ IOs ਦੇ ਨਾਲ ਇੱਕ ਬੋਰਡ ਚਲਾਉਣ ਲਈ ਡਿਫਾਲਟ ਸੰਰਚਨਾ ਪ੍ਰਦਾਨ ਕੀਤੀ ਗਈ ਹੈ। ਟੇਬਲ 2 ਵਿੱਚ ਦੱਸੇ ਅਨੁਸਾਰ ਜੰਪਰ ਸੈਟਿੰਗ ਨੂੰ ਡਿਫਾਲਟ ਮੋਡ ਵਿੱਚ ਹੋਣ ਦੀ ਵੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਡਿਜੀਟਲ ਇਨਪੁਟ ਡਿਜੀਟਲ ਆਊਟ ਮਿਰਰਿੰਗ (DIDO) ਡਿਫਾਲਟ ਫਰਮਵੇਅਰ ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਦੇ ਕੇਸ ਹੈ।
ਫੋਲਡਰ ਬਣਤਰ

ਹੇਠਾਂ ਦਿੱਤੇ ਫੋਲਡਰ ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ:
- ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਇੱਕ ਸੰਕਲਿਤ HTML ਸ਼ਾਮਲ ਹੈ file ਸੋਰਸ ਕੋਡ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਗਿਆ, ਸਾਫਟਵੇਅਰ ਕੰਪੋਨੈਂਟਸ ਅਤੇ APIs ਦਾ ਵੇਰਵਾ ਦਿੰਦੇ ਹੋਏ।
- ਡਰਾਈਵਰਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- ਇੱਕ STM32Cube HAL ਫੋਲਡਰ, ਜੋ ਕਿ STM32G0xx_HAL_Driver ਸਬਫੋਲਡਰਾਂ ਵਿੱਚ ਸਥਿਤ ਹੈ। ਇਹ files ਦਾ ਇੱਥੇ ਵਰਣਨ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ ਕਿਉਂਕਿ ਉਹ X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ ਲਈ ਖਾਸ ਨਹੀਂ ਹਨ ਪਰ ਸਿੱਧੇ STM32Cube ਫਰੇਮਵਰਕ ਤੋਂ ਆਉਂਦੇ ਹਨ।
- ਇੱਕ CMSIS ਫੋਲਡਰ ਜਿਸ ਵਿੱਚ Cortex® microcontroller ਸਾਫਟਵੇਅਰ ਇੰਟਰਫੇਸ ਸਟੈਂਡਰਡ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ fileਆਰਮ ਤੋਂ s. ਇਹ files Cortex®-M ਪ੍ਰੋਸੈਸਰ ਲੜੀ ਲਈ ਵਿਕਰੇਤਾ-ਸੁਤੰਤਰ ਹਾਰਡਵੇਅਰ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ ਹਨ। ਇਹ ਫੋਲਡਰ STM32Cube ਫਰੇਮਵਰਕ ਤੋਂ ਵੀ ਬਿਨਾਂ ਕਿਸੇ ਬਦਲਾਅ ਦੇ ਆਉਂਦਾ ਹੈ।
- ਇੱਕ BSP ਫੋਲਡਰ ਜਿਸ ਵਿੱਚ IPS1025H-32 ਅਤੇ CLT03-2Q3 ਕੰਪੋਨੈਂਟਸ ਅਤੇ X-NUCLEO-ISO1A1 ਨਾਲ ਸਬੰਧਤ APIs ਲਈ ਕੋਡ ਹਨ।
- ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਯੂਜ਼ਰ ਫੋਲਡਰ ਹੁੰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ main.c ਹੁੰਦਾ ਹੈ। file, ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਦਾ ਮਾਮਲਾ file, st_iso_app.c ਅਤੇ board_config.h file, NUCLEO-G071RB ਪਲੇਟਫਾਰਮ ਲਈ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ।
BSP ਫੋਲਡਰ
X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ ਦੋ ਵੱਖ-ਵੱਖ ਹਿੱਸਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ files, ਜੋ ਕਿ BSP/ਕੰਪੋਨੈਂਟਸ ਦੇ ਅੰਦਰ ਹਨ:
IPS1025
ips1025h_32.h ਅਤੇ ips1025h_32.c files IPS1025H-32 ਨਾਲ ਇੰਟਰਫੇਸ ਕੀਤੇ GPIO ਪਿੰਨਾਂ ਲਈ ਇੱਕ ਵਿਆਪਕ ਡਰਾਈਵਰ ਲਾਗੂਕਰਨ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਜਿਸ ਵਿੱਚ ਸਾਰੇ ਪਿੰਨਾਂ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਅਤੇ ਨੁਕਸ ਲੱਭਣ ਲਈ ਪੂਰੀ ਕਾਰਜਸ਼ੀਲਤਾ ਸ਼ਾਮਲ ਹੈ। ਇਹ files ਡਿਵਾਈਸ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ, ਚੈਨਲ ਸਥਿਤੀ ਨੂੰ ਸੈੱਟ ਕਰਨ ਅਤੇ ਸਾਫ਼ ਕਰਨ, ਨੁਕਸ ਸਥਿਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ PWM ਕਾਰਜਕੁਸ਼ਲਤਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਡਰਾਈਵਰ ਕਈ ਡਿਵਾਈਸਾਂ ਅਤੇ ਚੈਨਲਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਵਿਅਕਤੀਗਤ ਚੈਨਲ ਜਾਂ ਸਮੂਹ ਦੋਵਾਂ ਲਈ ਪੂਰੀ ਸਮਰੱਥਾਵਾਂ ਦੇ ਨਾਲ।
CLT03
clt03_2q3.h ਅਤੇ clt03_2q3.c files CLT03-2Q3 ਨਾਲ ਇੰਟਰਫੇਸ ਕੀਤੇ GPIO ਪਿੰਨਾਂ ਲਈ ਇੱਕ ਪੂਰਾ-ਵਿਸ਼ੇਸ਼ ਡਰਾਈਵਰ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸਾਰੀਆਂ ਪਿੰਨ ਸਥਿਤੀਆਂ ਨੂੰ ਪੜ੍ਹਨ ਲਈ ਪੂਰੀਆਂ ਸਮਰੱਥਾਵਾਂ ਹਨ। ਡਰਾਈਵਰ ਡਿਵਾਈਸ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ, ਵਿਅਕਤੀਗਤ ਚੈਨਲ ਸਥਿਤੀ ਨੂੰ ਪੜ੍ਹਨ ਅਤੇ ਇੱਕੋ ਸਮੇਂ ਸਾਰੇ ਚੈਨਲਾਂ ਲਈ ਸਥਿਤੀ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ ਕਈ ਡਿਵਾਈਸ ਸੰਰਚਨਾਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਅਤੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਚੈਨਲ ਪ੍ਰਬੰਧਨ ਲਈ ਅੰਦਰੂਨੀ ਸਥਿਤੀ ਨੂੰ ਬਣਾਈ ਰੱਖਦਾ ਹੈ।
X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ API ਨੂੰ ਦੋ ਮੁੱਖ ਸਰੋਤਾਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ files, ਜੋ ਕਿ ISO1A1 ਸਬਫੋਲਡਰ ਦੇ ਅੰਦਰ ਹਨ:
ਆਈਐਸਓ 1 ਏ 1
ISO1A1 fileਬੋਰਡ ਸੰਰਚਨਾ, ਕੰਪੋਨੈਂਟ ਇੰਟਰੈਕਸ਼ਨ, ਅਤੇ ਫਾਲਟ ਮੈਨੇਜਮੈਂਟ ਲਈ ਤਿਆਰ ਕੀਤੇ ਗਏ API ਫੰਕਸ਼ਨਾਂ ਦਾ ਇੱਕ ਵਿਆਪਕ ਸੈੱਟ ਸ਼ਾਮਲ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਪੜ੍ਹਨ ਅਤੇ ਲਿਖਣ ਦੇ ਕਾਰਜਾਂ, ਫਾਲਟ ਖੋਜ ਅਤੇ ਅੱਪਡੇਟ ਦੀ ਸਹੂਲਤ ਦਿੰਦੇ ਹਨ, ਅਤੇ ਪ੍ਰਾਇਮਰੀ API ਫੰਕਸ਼ਨਾਂ ਦਾ ਸਮਰਥਨ ਕਰਨ ਲਈ ਵੱਖ-ਵੱਖ ਸਹਾਇਕ ਉਪਯੋਗਤਾਵਾਂ ਸ਼ਾਮਲ ਕਰਦੇ ਹਨ। ਇਸ ਤੋਂ ਇਲਾਵਾ, files LED ਕੰਟਰੋਲ, GPIO ਸ਼ੁਰੂਆਤੀਕਰਨ, ਇੰਟਰੱਪਟ ਹੈਂਡਲਿੰਗ, ਅਤੇ UART ਸੰਚਾਰ ਲਈ ਕਾਰਜਸ਼ੀਲਤਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
ਪੀਡਬਲਯੂਐਮ ਏਪੀਆਈ
PWM API PWM ਸਿਗਨਲਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ, ਸੰਰਚਿਤ ਕਰਨ, ਸ਼ੁਰੂ ਕਰਨ ਅਤੇ ਰੋਕਣ ਲਈ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ PWM ਓਪਰੇਸ਼ਨਾਂ 'ਤੇ ਸਟੀਕ ਨਿਯੰਤਰਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋਏ, ਨਿਰਧਾਰਤ ਟਾਈਮਰ ਪਿੰਨਾਂ ਲਈ PWM ਬਾਰੰਬਾਰਤਾ ਅਤੇ ਡਿਊਟੀ ਚੱਕਰ ਸੈੱਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਫੋਲਡਰ
ਐਪਲੀਕੇਸ਼ਨ ਫੋਲਡਰ ਵਿੱਚ ਮੁੱਖ ਸ਼ਾਮਲ ਹੈ fileਫਰਮਵੇਅਰ ਲਈ ਲੋੜੀਂਦੇ s, ਸਿਰਲੇਖ ਅਤੇ ਸਰੋਤ ਸਮੇਤ files. ਹੇਠਾਂ ਵਿਸਤ੍ਰਿਤ ਵਰਣਨ ਹੈ fileਇਸ ਫੋਲਡਰ ਵਿੱਚ s:
- board_config.h: ਬੋਰਡ ਲਈ ਸੰਰਚਨਾ ਮੈਕਰੋ।
- main.c: ਮੁੱਖ ਪ੍ਰੋਗਰਾਮ (ਸਾਬਕਾ ਦਾ ਕੋਡample ਜੋ ਕਿ ISO1A1 ਲਈ ਲਾਇਬ੍ਰੇਰੀ 'ਤੇ ਅਧਾਰਤ ਹੈ)।
- st_iso_app.c: ਬੋਰਡ ਟੈਸਟਿੰਗ ਅਤੇ ਸੰਰਚਨਾ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਫੰਕਸ਼ਨ।
- stm32g0xx_hal_msp.c: HAL ਸ਼ੁਰੂਆਤੀ ਰੁਟੀਨ।
- stm32g0xx_it.c: ਇੰਟਰੱਪਟ ਹੈਂਡਲਰ।
- syscalls.c: ਸਿਸਟਮ ਕਾਲ ਲਾਗੂਕਰਨ।
- sysmem.c: ਸਿਸਟਮ ਮੈਮੋਰੀ ਪ੍ਰਬੰਧਨ।
- system_stm32g0xx.c: ਸਿਸਟਮ ਸ਼ੁਰੂਆਤੀਕਰਨ।
ਸਾਫਟਵੇਅਰ ਲੋੜੀਂਦੇ ਸਰੋਤ
ਨਿਊਕਲੀਓ ਡਿਵਾਈਸ X-NUCLEO-ISO1A1 ਬੋਰਡ ਨੂੰ GPIOs ਰਾਹੀਂ ਕੰਟਰੋਲ ਅਤੇ ਸੰਚਾਰ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ X-NUCLEO-ISO1A1 ਬੋਰਡ ਵਿੱਚ ਮੌਜੂਦ ਉਦਯੋਗਿਕ IO ਡਿਵਾਈਸਾਂ ਦੇ ਇਨਪੁਟ, ਆਉਟਪੁੱਟ ਅਤੇ ਨੁਕਸ ਖੋਜ ਲਈ ਕਈ GPIOs ਦੀ ਵਰਤੋਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਹੋਰ ਵੇਰਵਿਆਂ ਅਤੇ ਜੰਪਰ ਸੰਰਚਨਾਵਾਂ ਲਈ ਹਾਰਡਵੇਅਰ ਯੂਜ਼ਰ ਮੈਨੂਅਲ UM3483 ਵੇਖੋ।
ਬੋਰਡ ਸੰਰਚਨਾ (board_config.h)
ਬੋਰਡ_ਕੌਨਫਿਗ.ਐਚ file ਬੋਰਡ ਸੰਰਚਨਾ ਦੇ ਅਨੁਸਾਰ ਸਾਫਟਵੇਅਰ ਨੂੰ ਸੰਰਚਿਤ ਕਰਨ ਲਈ ਵਰਤੇ ਗਏ ਸਰੋਤਾਂ ਅਤੇ ਸੰਰਚਨਾਤਮਕ ਮੈਕਰੋ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਇਹ ਦੋ ਬੋਰਡਾਂ ਤੱਕ ਹੈਂਡਲ ਕਰਦਾ ਹੈ (ਜਿਵੇਂ ਕਿ ਦੋ ਬੋਰਡਾਂ ਦੀ ਸਟੈਕਿੰਗ)।
ਸਾਫਟਵੇਅਰ DEFAULT ਕੌਂਫਿਗਰੇਸ਼ਨ X-NUCLEO-ISO1A1 ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ ਦੇ ਨਾਲ ਇਸਦੇ ਜੰਪਰਾਂ ਨੂੰ ਡਿਫੌਲਟ ਸਥਿਤੀਆਂ ਵਿੱਚ ਰੱਖਣ ਦੇ ਨਾਲ ਇਕਸਾਰ ਹੈ। X-NUCLEO-ISO1A1 ਲਈ ਸਾਫਟਵੇਅਰ ਨੂੰ ਇਸਦੀ ਡਿਫੌਲਟ ਸੈਟਿੰਗ ਵਿੱਚ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ, board_config.h ਵਿੱਚ BOARD_ID_DEFAULT ਮੈਕਰੋ ਨੂੰ ਅਣਕਮੈਂਟ ਕਰੋ। file.
ਸਾਫਟਵੇਅਰ ALTERNATE ਸੰਰਚਨਾ board_config.h ਵਿੱਚ BOARD_ID_ALTERNATE ਮੈਕਰੋ ਨੂੰ ਅਣਕਮੈਂਟ ਕਰਕੇ ਸੈੱਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। file ਅਤੇ ਬੋਰਡ 'ਤੇ ਜੰਪਰ ਦੀਆਂ ਸਥਿਤੀਆਂ ਨੂੰ ਬਦਲਣਾ।
ਸਟੈਕ-ਅੱਪ ਕੌਂਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਇੱਕੋ ਸਮੇਂ ਦੋ ਬੋਰਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, BOARD_ID_DEFAULT ਅਤੇ BOARD_ID_ALTERNATE ਮੈਕਰੋ ਦੋਵਾਂ ਨੂੰ ਅਣਕਮੈਂਟ ਕਰੋ ਅਤੇ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਇੱਕ ਬੋਰਡ ਦੇ ਜੰਪਰ ਡਿਫੌਲਟ ਸਥਿਤੀ ਵਿੱਚ ਹਨ ਅਤੇ ਦੂਜਾ ਵਿਕਲਪਿਕ ਸਥਿਤੀ ਵਿੱਚ ਹੈ। ਧਿਆਨ ਦਿਓ ਕਿ ਦੋਵੇਂ ਬੋਰਡ ਇੱਕੋ ਸੰਰਚਨਾ ਵਿੱਚ ਰੱਖਣ ਦੀ ਸਿਫਾਰਸ਼ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ (ਜਾਂ ਤਾਂ ਦੋਵੇਂ ਡਿਫੌਲਟ ਵਿੱਚ ਜਾਂ ਦੋਵੇਂ ਵਿਕਲਪਿਕ ਵਿੱਚ) ਅਤੇ ਇਸਦੇ ਨਤੀਜੇ ਵਜੋਂ ਅਣਚਾਹੇ ਵਿਵਹਾਰ ਹੋ ਸਕਦੇ ਹਨ।
ਸਿਰਫ਼ ਇੱਕ ਬੋਰਡ ਚਲਾਉਂਦੇ ਸਮੇਂ, ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਸਾਫਟਵੇਅਰ ਸਿਰਫ਼ ਇੱਕ ਸੰਰਚਨਾ ਲਈ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਦੂਜੀ ਸੰਰਚਨਾ ਨਾਲ ਸੰਬੰਧਿਤ ਮੈਕਰੋ ਟਿੱਪਣੀ ਕੀਤਾ ਗਿਆ ਹੈ।

ਪ੍ਰੀ-ਸਕੇਲਰ
ਅਸੀਂ ਢੁਕਵੇਂ ਮੈਕਰੋ ਸੈੱਟ ਕਰਕੇ PWM ਆਉਟਪੁੱਟ ਲਈ ਵੱਖ-ਵੱਖ ਫ੍ਰੀਕੁਐਂਸੀ ਰੇਂਜਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ board_config.h ਵਿੱਚ ਪ੍ਰੀ-ਸਕੇਲਰ ਮੁੱਲਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰ ਸਕਦੇ ਹਾਂ। ਪ੍ਰੀ-ਸਕੇਲਰ ਮੁੱਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਸੰਬੰਧਿਤ ਮੈਕਰੋ ਨੂੰ ਅਣਕਮੈਂਟ ਕਰੋ ਅਤੇ ਦੂਜਿਆਂ 'ਤੇ ਟਿੱਪਣੀ ਕਰੋ। ਡਿਫਾਲਟ ਤੌਰ 'ਤੇ, DEFAULT_PRESCALAR ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
- ਪ੍ਰੈਸਕੇਲਰ_1
- ਪ੍ਰੈਸਕੇਲਰ_2
- ਡਿਫਾਲਟ_ਪ੍ਰੈਸਕੇਲਰ
ਪ੍ਰੀਸਕੇਲਰ ਮੁੱਲ ਸਿਰਫ਼ ਉਦੋਂ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਜਦੋਂ ਟਾਈਮਰ ਵਰਤੇ ਜਾ ਰਹੇ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਕਿਸੇ ਵੀ ਬੁਨਿਆਦੀ I/O ਓਪਰੇਸ਼ਨ ਲਈ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੁੰਦੇ। ਪ੍ਰੀ-ਸਕੇਲਰ ਮੈਕਰੋ ਦੇ ਮੁੱਲ ਅਤੇ ਉਹਨਾਂ ਦੇ ਅਨੁਸਾਰੀ ਬਾਰੰਬਾਰਤਾ ਰੇਂਜਾਂ ਨੂੰ ਕੋਡ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਜਾਂ ਕੋਡ ਵਿੱਚ ਹੀ ਦੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਦਿਲ ਦੀ ਧੜਕਣ LED
ਅਸੀਂ NUCLEO-G071RB ਬੋਰਡ ਨਾਲ ਸਹੀ ਕਨੈਕਸ਼ਨ ਲਈ ਇੱਕ ਟੈਸਟ ਦੇ ਤੌਰ 'ਤੇ ਹਰੇ ਉਪਭੋਗਤਾ LED, D7 ਨੂੰ ਦਿਲ ਦੀ ਧੜਕਣ ਦੇ ਢੰਗ ਨਾਲ ਬਲਿੰਕ ਕਰਨ ਲਈ ਕੌਂਫਿਗਰ ਕਰ ਸਕਦੇ ਹਾਂ। ਜਦੋਂ ਟਿੱਪਣੀ ਨਾ ਕੀਤੀ ਜਾਵੇ ਤਾਂ ਮੈਕਰੋ, HEARTBEAT_LED, NUCLEO ਨਾਲ ਕਨੈਕਟ ਹੋਣ 'ਤੇ X-NUCLEO-ISO1A1 'ਤੇ ਹਰੇ LED ਨੂੰ ਬਲਿੰਕ ਕਰਦਾ ਹੈ। ਇਹ 1 ਸਕਿੰਟ ਲਈ ਚਾਲੂ ਰਹਿੰਦਾ ਹੈ ਅਤੇ 2 ਸਕਿੰਟ ਲਈ ਬੰਦ ਰਹਿੰਦਾ ਹੈ, ਟਾਈਮਰ ਦੁਆਰਾ ਸਮੇਂ ਦਾ ਧਿਆਨ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ ਇਸਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ ਜਾਂ LEDs ਨਾਲ ਸਬੰਧਤ ਕੋਈ ਫੰਕਸ਼ਨ ਨਹੀਂ ਬੁਲਾਇਆ ਜਾਂਦਾ, ਤਾਂ ਮੈਕਰੋ ਨੂੰ ਟਿੱਪਣੀ ਨਾ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ।
ਇਨਪੁੱਟ ਅਤੇ ਆਉਟਪੁੱਟ GPIO ਸੰਰਚਨਾ
ਹਰੇਕ X-NUCLEO-ISO1A1 ਬੋਰਡ ਦੋ ਇਨਪੁੱਟ ਪੋਰਟਾਂ ਅਤੇ ਦੋ ਆਉਟਪੁੱਟ ਪੋਰਟਾਂ ਨਾਲ ਲੈਸ ਹੈ। ਬੋਰਡ ਦੀਆਂ ਸਮਰੱਥਾਵਾਂ ਨੂੰ ਇੱਕ ਦੂਜੇ ਦੇ ਉੱਪਰ ਦੋ X-NUCLEO-ISO1A1 ਬੋਰਡਾਂ ਨੂੰ ਸਟੈਕ ਕਰਕੇ ਵਧਾਇਆ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਚਾਰ ਡਿਜੀਟਲ ਇਨਪੁੱਟ ਪੋਰਟਾਂ ਅਤੇ ਚਾਰ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਪੋਰਟਾਂ ਦੀ ਵਰਤੋਂ ਸੰਭਵ ਹੋ ਜਾਂਦੀ ਹੈ। ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਸੌਫਟਵੇਅਰ ਵਿੱਚ ਵਿਆਪਕ API ਸ਼ਾਮਲ ਹਨ ਜੋ ਪੋਰਟਾਂ ਨੂੰ ਪੜ੍ਹਨ, ਸੈੱਟ ਕਰਨ ਅਤੇ ਸਾਫ਼ ਕਰਨ ਦੀ ਸਹੂਲਤ ਦਿੰਦੇ ਹਨ। ਇਸ ਤੋਂ ਇਲਾਵਾ, API ਸਾਰੇ ਪੋਰਟਾਂ ਦੀ ਇੱਕੋ ਸਮੇਂ ਸੈਟਿੰਗ, ਪੜ੍ਹਨ ਜਾਂ ਸਾਫ਼ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ। API ਫੰਕਸ਼ਨਾਂ ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ ਕੋਡ ਦਸਤਾਵੇਜ਼ਾਂ ਦੇ ਨਾਲ-ਨਾਲ ਇਸ ਦਸਤਾਵੇਜ਼ ਦੇ API ਭਾਗ ਵਿੱਚ ਉਪਲਬਧ ਹੈ।

ਇੱਥੇ ਅਗੇਤਰ DI ਡਿਜੀਟਲ ਇਨਪੁੱਟ ਪੋਰਟ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਅਤੇ DO ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਪੋਰਟ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਵਿਕਲਪਿਕ ਸੰਰਚਨਾ ਲਈ, ਸਾਫਟਵੇਅਰ ਉਹੀ ਨਾਮਕਰਨ ਪਰੰਪਰਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ _alt ਪਿਛੇਤਰ ਜੁੜਿਆ ਹੁੰਦਾ ਹੈ।
ਹੇਠ ਦਿੱਤੀ ਸਾਰਣੀ ਵੱਖ-ਵੱਖ IO ਪੋਰਟਾਂ ਦੇ ਅਨੁਸਾਰੀ ਸਾਫਟਵੇਅਰ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ GPIO ਮੈਕਰੋ ਦਾ ਵੇਰਵਾ ਦਿੰਦੀ ਹੈ:
ਸਾਰਣੀ 2. ਡਿਫਾਲਟ ਅਤੇ ਵਿਕਲਪਿਕ ਸੌਫਟਵੇਅਰ ਸੰਰਚਨਾਵਾਂ ਲਈ ਨਿਰਧਾਰਤ GPIOs
| ਨਾਮ | ਫੰਕਸ਼ਨ | ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੰਰਚਨਾ | ਵਿਕਲਪਿਕ ਸੰਰਚਨਾ |
| ਇਨਪੁਟ ਪਿੰਨ | ਇਨਪੁਟ ਪਿੰਨ 1 | ਜੀਪੀਆਈਓਸੀ, IA0_IN_1_ਪਿੰਨ | ਜੀਪੀਆਈਓਡੀ, IA0_IN_1_ਪਿੰਨ |
| ਇਨਪੁਟ ਪਿੰਨ 2 | ਜੀਪੀਆਈਓਡੀ, IA1_IN_2_ਪਿੰਨ | ਜੀਪੀਆਈਓਸੀ, IA1_IN_1_ਪਿੰਨ | |
| ਆਊਟਪੁੱਟ ਪਿੰਨ | ਆਉਟਪੁੱਟ ਪਿੰਨ 1 | ਜੀਪੀਆਈਓਸੀ, QA0_CNTRL_1_ਪਿੰਨ | ਜੀਪੀਆਈਓਡੀ, QA0_CNTRL_1_ਪਿੰਨ |
| ਆਉਟਪੁੱਟ ਪਿੰਨ 2 | ਜੀਪੀਆਈਓਸੀ, QA1_CNTRL_2_ਪਿੰਨ | ਜੀਪੀਆਈਓਸੀ, QA1_CNTRL_2_ਪਿੰਨ | |
| ਗਲਤ ਪਿੰਨ | ਫਾਲਟ ਪਿੰਨ 1 | ਜੀਪੀਆਈਓਸੀ, FLT1_QA0_2_OT_PIN | ਜੀਪੀਆਈਓਡੀ, FLT1_QA0_1_OT_PIN |
| ਫਾਲਟ ਪਿੰਨ 2 | ਜੀਪੀਆਈਓਸੀ, FLT2_QA0_2_OL_PIN | ਜੀਪੀਆਈਓਡੀ, FLT2_QA0_1_OL_PIN | |
| ਫਾਲਟ ਪਿੰਨ 3 | ਜੀਪੀਆਈਓਸੀ, FLT1_QA1_2_OT_PIN | ਜੀਪੀਆਈਓਸੀ, FLT1_QA1_1_OT_PIN | |
| ਫਾਲਟ ਪਿੰਨ 4 | ਜੀਪੀਆਈਓਸੀ, FLT2_QA1_1_OL_PIN | ਜੀਪੀਆਈਓਡੀ, FLT2_QA1_2_OL_PIN | |
| ਕੌਂਫਿਗਰੇਸ਼ਨ ਮੈਕਰੋ | ਬੋਰਡ_ਆਈਡੀ_ਡਿਫਾਲਟ | ਬੋਰਡ_ਆਈਡੀ_ਬਦਲ |
ਟਾਈਮਰ ਅਤੇ PWM
X-CUBE-ISO1 ਫਰਮਵੇਅਰ ਵਿੱਚ ਟਾਈਮਰਾਂ ਦੀ ਵਰਤੋਂ ਖਾਸ ਪਿੰਨਾਂ ਲਈ PWM ਸਿਗਨਲ ਤਿਆਰ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ, ਟਾਈਮਰ TIM3 ਨੂੰ ਛੱਡ ਕੇ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। PWM ਸਿਗਨਲ ਤਿਆਰ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸੰਬੰਧਿਤ ਟਾਈਮਰਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਸੰਬੰਧਿਤ ਆਉਟਪੁੱਟ ਪੋਰਟਾਂ ਨੂੰ PWM ਮੋਡ ਵਿੱਚ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਆਮ GPIO ਇਨਪੁਟ/ਆਉਟਪੁੱਟ ਓਪਰੇਸ਼ਨਾਂ ਲਈ, ਕਿਸੇ ਵੀ ਟਾਈਮਰ ਜਾਂ ਆਉਟਪੁੱਟ ਪੋਰਟ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਦੀ ਕੋਈ ਲੋੜ ਨਹੀਂ ਹੈ, ਕਿਉਂਕਿ ਇਸਦਾ ਧਿਆਨ ਡਿਫਾਲਟ ਤੌਰ 'ਤੇ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਜੇਕਰ ਇੱਕ ਵਾਰ ਆਉਟਪੁੱਟ ਪਿੰਨ PWM ਮੋਡ ਵਿੱਚ ਸੈੱਟ ਹੋ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਸਾਨੂੰ GPIO ਪਿੰਨਾਂ ਵਜੋਂ ਵਰਤਣ ਲਈ ਉਹਨਾਂ ਨੂੰ GPIO ਮੋਡ ਵਿੱਚ ਦੁਬਾਰਾ ਕੌਂਫਿਗਰ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਨੋਟ: ਜਦੋਂ ਆਉਟਪੁੱਟ ਪਿੰਨ PWM ਜਨਰੇਸ਼ਨ ਲਈ ਵਰਤੇ ਜਾ ਰਹੇ ਹੁੰਦੇ ਹਨ, ਤਾਂ GPIO ਆਉਟਪੁੱਟ ਅਯੋਗ ਹੋ ਜਾਂਦਾ ਹੈ, ਦੋਵੇਂ ਕਾਰਜਸ਼ੀਲਤਾਵਾਂ ਇੱਕੋ ਸਮੇਂ ਲਾਗੂ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ। PWM ਵਰਤੋਂ ਤੋਂ ਬਾਅਦ GPIO ਨੂੰ ਮੁੜ-ਸਮਰੱਥ ਬਣਾਉਣ ਲਈ, ਕੋਈ ਵੀ API ਫੰਕਸ਼ਨ ST_ISO_BoardConfigureDefault() ਜਾਂ ST_ISO_InitGPIO() ਨੂੰ ਕਾਲ ਕਰ ਸਕਦਾ ਹੈ ਤਾਂ ਜੋ ਸਾਰੇ ਪੋਰਟਾਂ ਨੂੰ ਇੱਕੋ ਸਮੇਂ GPIO ਵਜੋਂ ਸੰਰਚਿਤ ਕੀਤਾ ਜਾ ਸਕੇ ਜਾਂ ST_ISO_Init_GPIO() ਨੂੰ ਇੱਕ ਖਾਸ GPIO ਪੋਰਟ ਅਤੇ ਪਿੰਨ ਨਾਲ ਕਾਲ ਕੀਤਾ ਜਾ ਸਕੇ।
ਜਿਵੇਂ ਕਿ ਉੱਪਰ ਦੱਸਿਆ ਗਿਆ ਹੈ, ਸਾਫਟਵੇਅਰ ਡਿਫਾਲਟ ਤੌਰ 'ਤੇ ਇੱਕ ਟਾਈਮਰ, TIM3 ਦੀ ਵਰਤੋਂ ਵੀ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਉਪਭੋਗਤਾ LED ਟਾਈਮਿੰਗ, ਘੜੀ, ਅਤੇ UART ਟਾਈਮਿੰਗ ਲਾਗੂ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਡਿਫਾਲਟ ਤੌਰ 'ਤੇ 1 ਸਕਿੰਟ ਦੀ ਮਿਆਦ ਲਈ ਕੌਂਫਿਗਰ ਕੀਤਾ ਗਿਆ ਹੈ।
ਹੇਠ ਦਿੱਤੀ ਸਾਰਣੀ ਸਾਡੇ ਕੋਡ ਵਿੱਚ ਹਰੇਕ ਪਿੰਨ ਲਈ ਉਪਲਬਧ ਟਾਈਮਰਾਂ ਦਾ ਵੇਰਵਾ ਦਿੰਦੀ ਹੈ:
ਟੇਬਲ 3. ਹਰੇਕ ਪਿੰਨ ਲਈ ਟਾਈਮਰ ਉਪਲਬਧ ਹਨ।
| ਪਿੰਨ ਨਾਮ | ਸਾਫਟਵੇਅਰ ਪ੍ਰਤੀਨਿਧਤਾ | ਟਾਈਮਰ | ਟਾਈਮਰ ਚੈਨਲ | ਵਿਕਲਪਕ ਫੰਕਸ਼ਨ |
| QA0_CNTRL_1_ਪਿੰਨ | QA_0 | TIM2 | ਟਿਮ_ਚੈਨਲ_4 | ਜੀਪੀਆਈਓ_ਏਐਫ2_ਟੀਆਈਐਮ2 |
| QA1_CNTRL_2_ਪਿੰਨ | QA_1 | TIM1 | ਟਿਮ_ਚੈਨਲ_3 | ਜੀਪੀਆਈਓ_ਏਐਫ2_ਟੀਆਈਐਮ1 |
| QA0_CNTRL_2_ਪਿੰਨ | QA_0_ALT | TIM1 | ਟਿਮ_ਚੈਨਲ_4 | ਜੀਪੀਆਈਓ_ਏਐਫ2_ਟੀਆਈਐਮ1 |
| QA1_CNTRL_1_ਪਿੰਨ | QA_1_ALT | TIM17 | ਟਿਮ_ਚੈਨਲ_1 | ਜੀਪੀਆਈਓ_ਏਐਫ2_ਟੀਆਈਐਮ17 |
ਫਰਮਵੇਅਰ ਦੀਆਂ ਵਾਧੂ ਸਹੂਲਤਾਂ
ਫਰਮਵੇਅਰ ਵਿੱਚ X-NUCLEO-ISO1A1 ਮੁਲਾਂਕਣ ਬੋਰਡ ਦੀ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਵਧਾਉਣ ਲਈ ਵਾਧੂ ਉਪਯੋਗਤਾਵਾਂ ਸ਼ਾਮਲ ਹਨ। ਜਿਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕੁਝ ਦਾ ਵਰਣਨ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ।
UART
UART ਸੰਚਾਰ ਵਿਸ਼ੇਸ਼ਤਾ TeraTerm, PuTTY ਅਤੇ ਹੋਰ ਸਮਾਨ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਰਗੀਆਂ PC ਉਪਯੋਗਤਾਵਾਂ ਰਾਹੀਂ ਬੋਰਡ ਸਥਿਤੀ ਦੀ ਅਸਲ-ਸਮੇਂ ਦੀ ਨਿਗਰਾਨੀ ਅਤੇ ਡੀਬੱਗਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਇਹ ਸਾਫਟਵੇਅਰ NUCLEO-G071RB ਬੋਰਡ ਵਿੱਚ ਮੌਜੂਦ UART ਰਾਹੀਂ UART ਡੇਟਾ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ। `ST_ISO_UART` ਫੰਕਸ਼ਨ UART ਉੱਤੇ ਵਿਸਤ੍ਰਿਤ ਬੋਰਡ ਸਥਿਤੀ ਜਾਣਕਾਰੀ ਭੇਜਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸਿਸਟਮ ਅਪਟਾਈਮ, ਫਰਮਵੇਅਰ ਕੌਂਫਿਗਰੇਸ਼ਨ, ਅਤੇ ਫਾਲਟ ਸਥਿਤੀ ਸ਼ਾਮਲ ਹੈ। ਇਹ ਡੇਟਾ ਹੋ ਸਕਦਾ ਹੈ viewਕਿਸੇ ਵੀ ਸੀਰੀਅਲ ਪੋਰਟ ਐਪਲੀਕੇਸ਼ਨ, ਜਿਵੇਂ ਕਿ TeraTerm, ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਮਰਥਿਤ। `ST_ISO_APP_DIDOandUART` ਫੰਕਸ਼ਨ ਡਿਜੀਟਲ ਇਨਪੁਟ/ਆਉਟਪੁੱਟ ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ UART ਸੰਚਾਰ ਨਾਲ ਜੋੜਦਾ ਹੈ, ਨਿਰਧਾਰਤ ਅੰਤਰਾਲਾਂ 'ਤੇ ਸਾਰੇ ਇਨਪੁਟ ਅਤੇ ਆਉਟਪੁੱਟ ਚੈਨਲਾਂ ਦੀ ਸਥਿਤੀ ਨੂੰ ਸੰਚਾਰਿਤ ਕਰਦਾ ਹੈ। ਹੇਠਾਂ ਸੰਰਚਨਾ ਸੈਟਿੰਗਾਂ ਹਨ ਅਤੇ ਜਿਵੇਂ ਕਿampਟੈਰਾਟਰਮ ਵਿੱਚ ਡੇਟਾ ਕਿਵੇਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ, ਇਸ ਬਾਰੇ ਜਾਣਕਾਰੀ। ਪੋਰਟ ਦਾ ਨਾਮ ਵਰਤੇ ਜਾ ਰਹੇ ਸਿਸਟਮ ਅਤੇ ਸੀਰੀਅਲ ਪੋਰਟ ਦੇ ਆਧਾਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਹੋ ਸਕਦਾ ਹੈ।


IO ਪਿੰਨ ਮੋਡ ਸੰਰਚਨਾ
IO ਪਿੰਨ ਮੋਡ ਕੌਂਫਿਗਰੇਸ਼ਨ ਯੂਟਿਲਿਟੀ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ST_ISO_BoardConfigure() ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੋਰਡ ਦੇ ਇਨਪੁਟ ਅਤੇ ਆਉਟਪੁੱਟ ਪੋਰਟ ਸੈੱਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਦੋ ਆਉਟਪੁੱਟ ਪੋਰਟਾਂ (QA0, QA1) ਅਤੇ ਦੋ ਇਨਪੁਟ ਪੋਰਟਾਂ (IA0, IA1) ਨੂੰ ਇਨਪੁਟ/ਆਉਟਪੁੱਟ ਮੋਡ, PWM ਆਉਟਪੁੱਟ ਮੋਡ, ਜਾਂ ਇੰਟਰੱਪਟ ਇਨਪੁਟ ਮੋਡ ਵਿੱਚ ਕੌਂਫਿਗਰ ਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਐਡਜਸਟ ਕਰਕੇ ਅਤੇ ਇਸ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਕੇ, ਉਪਭੋਗਤਾ ਖਾਸ ਜ਼ਰੂਰਤਾਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਬੋਰਡ ਦੀ IO ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਆਸਾਨੀ ਨਾਲ ਅਨੁਕੂਲਿਤ ਕਰ ਸਕਦੇ ਹਨ।
ਇਨਪੁਟ/ਆਉਟਪੁੱਟ ਮੋਡ ਵਿੱਚ, ਉਪਯੋਗਤਾ ਆਮ-ਉਦੇਸ਼ ਵਾਲੇ ਡਿਜੀਟਲ ਕਾਰਜਾਂ ਲਈ GPIO ਪਿੰਨਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ। PWM ਆਉਟਪੁੱਟ ਮੋਡ ਵਿੱਚ, ਇਹ ਸਟੀਕ PWM ਸਿਗਨਲ ਨਿਯੰਤਰਣ ਲਈ ਟਾਈਮਰ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਇੰਟਰੱਪਟ ਇਨਪੁਟ ਮੋਡ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਉਪਯੋਗਤਾ ਪਿੰਨਾਂ ਨੂੰ ਇੰਟਰੱਪਟਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਕੌਂਫਿਗਰ ਕਰਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਜਵਾਬਦੇਹ ਘਟਨਾ-ਸੰਚਾਲਿਤ ਪ੍ਰੋਗਰਾਮਿੰਗ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ।
ਇੰਟਰੱਪਟ ਹੈਂਡਲਿੰਗ
FAULT ਸਿਗਨਲਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ, ਸਾਫਟਵੇਅਰ ਸੰਬੰਧਿਤ ਇੰਟਰੱਪਟ ਲਾਈਨਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਜਵਾਬਦੇਹ ਇਵੈਂਟ-ਸੰਚਾਲਿਤ ਪ੍ਰੋਗਰਾਮਿੰਗ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ। ਇੱਕ ਅਨੁਕੂਲਿਤ ਹੈਂਡਲਰ ਨੂੰ ਇਹਨਾਂ ਇੰਟਰੱਪਟਾਂ ਨਾਲ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ
API ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ HAL_GPIO_EXTI_Rising_Callback ਫੰਕਸ਼ਨ। ਸਾਫਟਵੇਅਰ ਵਿੱਚ ST_ISO_BoardConfigure ਫੰਕਸ਼ਨ ਰਾਹੀਂ ਇੰਟਰੱਪਟ ਮੋਡ ਵਿੱਚ GPIO ਪਿੰਨ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਅਤੇ EXTI IRQ ਹੈਂਡਲਰਾਂ ਵਿੱਚ ਖਾਸ ਕਾਰਵਾਈਆਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਦੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਹਨ। ਇਹ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਇਹ ਅਨੁਕੂਲਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਕਿ ਬੋਰਡ ਬਾਹਰੀ ਘਟਨਾਵਾਂ ਪ੍ਰਤੀ ਕਿਵੇਂ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋਏ ਕਿ ਇਹ ਵੱਖ-ਵੱਖ ਨੁਕਸ ਸਥਿਤੀਆਂ ਅਤੇ ਟਰਿੱਗਰਾਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਪ੍ਰਬੰਧਿਤ ਕਰ ਸਕਦਾ ਹੈ।
API
X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ API X-NUCLEO-ISO1A1 ਬੋਰਡ ਨੂੰ ਕੰਟਰੋਲ ਅਤੇ ਨਿਗਰਾਨੀ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨਾਂ ਦਾ ਇੱਕ ਵਿਆਪਕ ਸੈੱਟ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ PWM ਸਿਗਨਲ ਜਨਰੇਸ਼ਨ ਅਤੇ GPIO ਓਪਰੇਸ਼ਨ ਸ਼ਾਮਲ ਹਨ। API ਨੂੰ ਵੱਖ-ਵੱਖ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵਰਤਣ ਅਤੇ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਬੋਰਡ ਦੀ ਕਾਰਜਸ਼ੀਲਤਾ 'ਤੇ ਲਚਕਤਾ ਅਤੇ ਨਿਯੰਤਰਣ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ API ਨੂੰ BSP/ISO1A1 ਫੋਲਡਰ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸਦੇ ਫੰਕਸ਼ਨ ST_ISO ਦੁਆਰਾ ਪ੍ਰੀਫਿਕਸ ਕੀਤੇ ਗਏ ਹਨ। API iso1a1.c ਅਤੇ pwm_api.c ਰਾਹੀਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। files ਸਥਿਰਾਂਕਾਂ, ਡੇਟਾ ਸਟ੍ਰਕਚਰ ਅਤੇ ਫੰਕਸ਼ਨਾਂ ਦਾ ਸੁਮੇਲ ਹੈ।
Sampਫਰਮਵੇਅਰ ਐਪਲੀਕੇਸ਼ਨ ਇਹਨਾਂ ਫੰਕਸ਼ਨਾਂ ਦੇ ਕੁਝ ਸੰਭਾਵੀ ਉਪਯੋਗਾਂ ਨੂੰ ਦਿਖਾਉਣ ਲਈ ਇਹਨਾਂ API ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।
X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ API ਦੇ ਦੋ ਸੈੱਟ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
- ISO1A1 API
- ਪੀਡਬਲਯੂਐਮ ਏਪੀਆਈ
ISO1A1 API
ISO1A1 API ਨੂੰ iso1a1.h ਅਤੇ iso1a1.c ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ files. ਇਹ ISO1A1 ਬੋਰਡ ਨੂੰ ਕੌਂਫਿਗਰ ਅਤੇ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ GPIO ਇਨਪੁਟ/ਆਉਟਪੁੱਟ ਓਪਰੇਸ਼ਨ ਅਤੇ ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ ਸ਼ਾਮਲ ਹਨ।
ਮੁੱਖ ਫੰਕਸ਼ਨ
- ST_ISO_BoardConfigureDefault: ਬੋਰਡ ਦੇ IO ਪੋਰਟਾਂ ਨੂੰ ਡਿਫੌਲਟ GPIO ਸੰਰਚਨਾ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰਦਾ ਹੈ।
- ST_ISO_BoardConfigure: ਬੋਰਡ ਲਈ ਇਨਪੁਟ ਅਤੇ ਆਉਟਪੁੱਟ ਪੋਰਟਾਂ ਦੇ ਮੋਡ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਦਾ ਹੈ।
- ST_ISO_BoardInit: ਬੋਰਡ ਹਾਰਡਵੇਅਰ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
- ST_ISO_BoardMapInit: ਚੈਨਲ ਹੈਂਡਲ ਸੰਰਚਨਾ ਦੇ ਆਧਾਰ 'ਤੇ ਬੋਰਡ ਕਾਰਜਸ਼ੀਲਤਾ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
- ST_ISO_GetFWVersion: ਮੌਜੂਦਾ ਫਰਮਵੇਅਰ ਸੰਸਕਰਣ ਵਾਪਸ ਕਰਦਾ ਹੈ।
- ST_ISO_GetChannelHandle: ਇੱਕ ਨਿਰਧਾਰਤ ਚੈਨਲ ਨਾਮ ਲਈ ਚੈਨਲ ਹੈਂਡਲ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ।
- ST_ISO_InitGPIO: ਦਿੱਤੇ ਗਏ ਮੋਡੀਊਲ ID ਨਾਲ ਨਿਰਧਾਰਤ GPIO ਪਿੰਨ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
- ST_ISO_InitInterrupt: ਦਿੱਤੇ ਗਏ ਮੋਡੀਊਲ ID ਨਾਲ ਇੱਕ ਇੰਟਰੱਪਟ ਦੇ ਤੌਰ 'ਤੇ ਨਿਰਧਾਰਤ GPIO ਪਿੰਨ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
- ST_ISO_EnableFaultInterrupt: ਇੰਟਰੱਪਟ ਮੋਡ ਵਿੱਚ ਫਾਲਟ GPIO ਪਿੰਨ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
- ST_ISO_SetChannelStatus: ਇੱਕ ਨਿਰਧਾਰਤ ਚੈਨਲ ਦੀ ਸਥਿਤੀ ਸੈੱਟ ਕਰਦਾ ਹੈ।
- ST_ISO_SetOne_DO: ਇੱਕ ਸਿੰਗਲ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਚੈਨਲ ਸੈੱਟ ਕਰਦਾ ਹੈ।
- ST_ISO_ClearOne_DO: ਇੱਕ ਸਿੰਗਲ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਚੈਨਲ ਨੂੰ ਸਾਫ਼ ਕਰਦਾ ਹੈ।
- ST_ISO_WriteAllChannels: ਸਾਰੇ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਚੈਨਲਾਂ ਤੇ ਡਾਟਾ ਲਿਖਦਾ ਹੈ।
- ST_ISO_GetOne_DI: ਇੱਕ ਸਿੰਗਲ ਡਿਜੀਟਲ ਇਨਪੁੱਟ ਚੈਨਲ ਦੀ ਸਥਿਤੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ।
- ST_ISO_ReadAllChannel: ਸਾਰੇ ਇਨਪੁੱਟ ਚੈਨਲਾਂ ਦੀ ਸਥਿਤੀ ਪੜ੍ਹਦਾ ਹੈ।
- ST_ISO_ReadAllOutputChannel: ਸਾਰੇ ਆਉਟਪੁੱਟ ਚੈਨਲਾਂ ਦੀ ਸਥਿਤੀ ਪੜ੍ਹਦਾ ਹੈ।
- ST_ISO_ReadFaultStatus: ਸਾਰੇ ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ ਪੋਰਟਾਂ ਤੋਂ ਫਾਲਟ ਸਥਿਤੀ ਪੜ੍ਹਦਾ ਹੈ।
- ST_ISO_ReadFaultStatusPolling: ਪੋਲਿੰਗ ਮੋਡ ਵਿੱਚ ਬੋਰਡਾਂ ਦੀ ਨੁਕਸ ਖੋਜ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ।
- ST_ISO_DisableOutputChannel: ਉਸ ਚੈਨਲ ਲਈ ਆਉਟਪੁੱਟ ਨੂੰ ਅਯੋਗ ਕਰਦਾ ਹੈ।
- ST_ISO_UpdateBoardStatusInfo: ਬੋਰਡ ਸਥਿਤੀ ਜਾਣਕਾਰੀ ਨੂੰ ਅੱਪਡੇਟ ਕਰਦਾ ਹੈ।
- ST_ISO_UpdateFaultStatus: ਕਿਸੇ ਖਾਸ ਚੈਨਲ ਲਈ ਫਾਲਟ ਸਥਿਤੀ ਨੂੰ ਅੱਪਡੇਟ ਕਰਦਾ ਹੈ।
- ST_ISO_BlinkLed: ਦਿੱਤੇ ਗਏ ਦੇਰੀ ਅਤੇ ਦੁਹਰਾਓ ਗਿਣਤੀ ਦੇ ਨਾਲ ਨਿਰਧਾਰਤ LED ਨੂੰ ਬਲਿੰਕ ਕਰਦਾ ਹੈ।
- ST_ISO_UART: UART ਉੱਤੇ ਬੋਰਡ ਸਥਿਤੀ ਜਾਣਕਾਰੀ ਭੇਜਦਾ ਹੈ।
- ST_ISO_SwitchInit: ਸਵਿੱਚ ਕੰਪੋਨੈਂਟਸ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
- ST_ISO_SwitchDeInit: ਸਵਿੱਚ ਇੰਸਟੈਂਸ ਨੂੰ ਡੀ-ਇਨੀਸ਼ੀਅਲਾਈਜ਼ ਕਰਦਾ ਹੈ।
- ST_ISO_DigitalInputInit: ਡਿਜੀਟਲ ਇਨਪੁੱਟ ਕੰਪੋਨੈਂਟਸ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
- ST_ISO_DigitalInputDeInit: ਡਿਜੀਟਲ ਇਨਪੁੱਟ ਇੰਸਟੈਂਸ ਨੂੰ ਡੀ-ਇਨੀਸ਼ੀਅਲਾਈਜ਼ ਕਰਦਾ ਹੈ।
ਪੀਡਬਲਯੂਐਮ ਏਪੀਆਈ
PWM API ਨੂੰ pwm_api.h ਅਤੇ pwm_api.c ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ files. ਇਹ ਖਾਸ ਪਿੰਨਾਂ ਲਈ PWM ਸਿਗਨਲਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਅਤੇ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਹੇਠ ਲਿਖੇ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
- ST_ISO_Init_PWM_Signal: PWM ਸਿਗਨਲ ਲਈ ਟਾਈਮਰ ਅਤੇ ਖਾਸ ਪਿੰਨ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
- ST_ISO_Set_PWM_Frequency: ਖਾਸ ਪਿੰਨ ਲਈ PWM ਬਾਰੰਬਾਰਤਾ ਸੈੱਟ ਕਰਦਾ ਹੈ।
- ST_ISO_Set_PWM_Duty_Cycle: ਖਾਸ ਪਿੰਨ ਲਈ PWM ਡਿਊਟੀ ਚੱਕਰ ਸੈੱਟ ਕਰਦਾ ਹੈ।
- ST_ISO_Start_PWM_Signal: ਖਾਸ ਪਿੰਨ 'ਤੇ PWM ਸਿਗਨਲ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
- ST_ISO_Stop_PWM_Signal: ਖਾਸ ਪਿੰਨ 'ਤੇ PWM ਸਿਗਨਲ ਨੂੰ ਰੋਕਦਾ ਹੈ।
ਕਿਸੇ ਸੰਬੰਧਿਤ ਚੈਨਲ 'ਤੇ PWM ਸਿਗਨਲ ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ST_ISO_Init_PWM_Signal ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰੋ, ਫਿਰ ST_ISO_Set_PWM_Frequency ਨੂੰ ਕਾਲ ਕਰਕੇ ਲੋੜੀਂਦੀ ਬਾਰੰਬਾਰਤਾ ਅਤੇ ਡਿਊਟੀ ਚੱਕਰ ਸੈੱਟ ਕਰੋ ਅਤੇ
ਕ੍ਰਮਵਾਰ ST_ISO_Set_PWM_Duty_Cycle ਫੰਕਸ਼ਨ ਅਤੇ ਫਿਰ ਤੁਸੀਂ ST_ISO_Start_PWM_Signal ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਕੇ PWM ਸਿਗਨਲ ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ST_ISO_Stop_PWM_Signal ਨੂੰ ਕਾਲ ਕਰਕੇ ਰੋਕ ਸਕਦੇ ਹੋ।
ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਬੰਧਿਤ ਪਿੰਨ ਨਾਮ ਅਤੇ ਉਪਲਬਧ ਟਾਈਮਰਾਂ ਨਾਲ ਕਾਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਜਿਸਦੇ ਵੇਰਵੇ ਸਾਰਣੀ 3 ਵਿੱਚ ਦਿੱਤੇ ਗਏ ਹਨ। ਵੱਖ-ਵੱਖ ਆਉਟਪੁੱਟ ਚੈਨਲ ਵੱਖ-ਵੱਖ ਫ੍ਰੀਕੁਐਂਸੀ ਅਤੇ ਡਿਊਟੀ ਚੱਕਰਾਂ ਨਾਲ ਸੈੱਟ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ; ਫ੍ਰੀਕੁਐਂਸੀ ਜਾਂ ਡਿਊਟੀ ਚੱਕਰ ਬਦਲਣ ਨਾਲ ਦੂਜੇ 'ਤੇ ਕੋਈ ਅਸਰ ਨਹੀਂ ਪੈਂਦਾ, ਇਹ ਉਹੀ ਰਹਿੰਦਾ ਹੈ।
ਉਪਭੋਗਤਾ ਲਈ ਉਪਲਬਧ APIs ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ ਤਕਨੀਕੀ ਜਾਣਕਾਰੀ ਇੱਕ ਸੰਕਲਿਤ HTML ਵਿੱਚ ਲੱਭੀ ਜਾ ਸਕਦੀ ਹੈ file ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ ਦੇ "ਦਸਤਾਵੇਜ਼" ਫੋਲਡਰ ਦੇ ਅੰਦਰ ਸਥਿਤ ਹੈ ਜਿੱਥੇ ਸਾਰੇ ਫੰਕਸ਼ਨਾਂ ਅਤੇ ਪੈਰਾਮੀਟਰਾਂ ਦਾ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵਰਣਨ ਕੀਤਾ ਗਿਆ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਵੇਰਵਾ
ਪ੍ਰਦਰਸ਼ਨ ਐਪਲੀਕੇਸ਼ਨ ਕਈ ਸਧਾਰਨ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ ਨੂੰ ਲਾਗੂ ਕਰਦੀ ਹੈ। st_iso_app ਅਤੇ board_config fileਬੋਰਡ ਅਤੇ ਇਸਦੇ ਐਪਲੀਕੇਸ਼ਨ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਅਤੇ ਵਰਤਣ ਵਿੱਚ s ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦੇ ਹਨ। ਇਹਨਾਂ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਬੋਰਡ ਅਤੇ ਸੌਫਟਵੇਅਰ ਦੀ ਸੰਰਚਨਾ ਇੱਕ ਦੂਜੇ ਨਾਲ ਸਮਕਾਲੀ ਹਨ।
ਐਪਲੀਕੇਸ਼ਨ ਫੰਕਸ਼ਨ (st_iso_app.h ਅਤੇ st_iso_app.c)
ਐਪਲੀਕੇਸ਼ਨ ਫੰਕਸ਼ਨ ST_ISO_APP ਦੁਆਰਾ ਪ੍ਰੀਫਿਕਸ ਕੀਤੇ ਜਾਂਦੇ ਹਨ; ਇਹ ਉਪਭੋਗਤਾ ਨੂੰ ਦਿਖਾਈ ਦੇਣ ਵਾਲੇ ਉੱਚ-ਪੱਧਰੀ ਫੰਕਸ਼ਨ ਹਨ ਜੋ ਆਪਣੇ ਲਾਗੂਕਰਨ ਲਈ API ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਨ। ਐਪਲੀਕੇਸ਼ਨ ਫੰਕਸ਼ਨਾਂ ਨੂੰ main.c ਵਿੱਚ ਕਾਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। file ਉਹਨਾਂ ਦੇ ਕੰਮਕਾਜ ਲਈ।
- ਵਰਤੋਂ ਕੇਸ ਚੋਣ: ਉਪਭੋਗਤਾ st_iso_app.c ਵਿੱਚ ਲੋੜੀਂਦੇ ਵਰਤੋਂ ਕੇਸ ਮੈਕਰੋ ਨੂੰ ਅਣਕਮੈਂਟ ਕਰ ਸਕਦਾ ਹੈ। file. ਫੰਕਸ਼ਨ ST_ISO_APP_SelectUseCaseMacro(), ਜਿਸਨੂੰ main.c ਵਿੱਚ ਕਿਹਾ ਜਾਂਦਾ ਹੈ, ਉਸ ਵਰਤੋਂ ਦੇ ਕੇਸ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਅਤੇ ਫੰਕਸ਼ਨ ST_ISO_APP_SelectedFunction() ਇਸਨੂੰ main.c ਵਿੱਚ ਲਾਗੂ ਕਰਦਾ ਹੈ। ਇਹ ਪਹੁੰਚ ਸਿਰਫ਼ ਮੈਕਰੋ ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ ਸੋਧ ਕੇ ਕਾਰਜਸ਼ੀਲ ਮੋਡ ਦੀ ਆਸਾਨ ਸੰਰਚਨਾ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਚੁਣੇ ਹੋਏ ਵਰਤੋਂ ਦੇ ਕੇਸ ਦੇ ਅਧਾਰ ਤੇ ਢੁਕਵੀਂ ਕਾਰਜਸ਼ੀਲਤਾ ਨੂੰ ਚਲਾਇਆ ਗਿਆ ਹੈ। ਡਿਫੌਲਟ ਰੂਪ ਵਿੱਚ, ਵਰਤੋਂ ਦੇ ਕੇਸ DIDO ਨੂੰ ਚੁਣਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਉਪਭੋਗਤਾ ਨੂੰ ਇਸਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਕੋਡ ਵਿੱਚ ਕੋਈ ਬਦਲਾਅ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ ਹੈ।
- ਡਿਜੀਟਲ ਇਨਪੁਟ ਤੋਂ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਮਿਰਰਿੰਗ (ST_ISO_APP_UsecaseDIDO): ਇਹ ਫੰਕਸ਼ਨ ਸਾਰੇ ਇਨਪੁਟ ਚੈਨਲਾਂ ਦੀ ਸਥਿਤੀ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਸਾਰੇ ਆਉਟਪੁੱਟ ਚੈਨਲਾਂ ਨੂੰ ਉਹੀ ਸਥਿਤੀ ਲਿਖਦਾ ਹੈ। ਇਹ ਡਿਜੀਟਲ ਇਨਪੁਟਸ ਨੂੰ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਵਿੱਚ ਮਿਰਰ ਕਰਨ ਲਈ ਉਪਯੋਗੀ ਹੈ।
- UART (ST_ISO_APP_DIDOandUART) ਨਾਲ ਡਿਜੀਟਲ ਇਨਪੁੱਟ ਤੋਂ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਮਿਰਰਿੰਗ: ਇਹ ਫੰਕਸ਼ਨ ST_ISO_APP_UsecaseDIDO ਫੰਕਸ਼ਨ ਦੇ ਸਮਾਨ, ਡਿਜੀਟਲ ਇਨਪੁੱਟ ਨੂੰ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਵਿੱਚ ਮਿਰਰ ਕਰਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇਹ ਨਿਊਕਲੀਓ ਡਿਵਾਈਸ 'ਤੇ UART ਇੰਟਰਫੇਸ ਰਾਹੀਂ ਬੋਰਡ ਸਥਿਤੀ ਨੂੰ ਸੰਚਾਰਿਤ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਸਥਿਤੀ ਨੂੰ viewਟੈਰਾ ਟਰਮ ਵਰਗੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੀਰੀਅਲ ਪੋਰਟ 'ਤੇ ਸਮਰਥਿਤ।
- ਟੈਸਟ ਕੇਸ ਫੰਕਸ਼ਨ (ST_ISO_APP_TestCase): ਇਹ ਫੰਕਸ਼ਨ ਬੋਰਡ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੇ ਆਧਾਰ 'ਤੇ ਟੈਸਟਾਂ ਅਤੇ ਕਾਰਵਾਈਆਂ ਦੀ ਇੱਕ ਲੜੀ ਕਰਦਾ ਹੈ। ਇਹ ਫਾਲਟ ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਦੋ ਡਿਜੀਟਲ ਇਨਪੁਟ ਚੈਨਲਾਂ ਦੀ ਸਥਿਤੀ ਪੜ੍ਹਦਾ ਹੈ, ਅਤੇ ਉਨ੍ਹਾਂ ਦੇ ਮੁੱਲਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਕਾਰਵਾਈਆਂ ਕਰਦਾ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਬੋਰਡ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਕਾਰਜਸ਼ੀਲਤਾ ਦਾ ਤੇਜ਼ੀ ਨਾਲ ਮੁਲਾਂਕਣ ਕਰਨ ਅਤੇ ਵੱਖ-ਵੱਖ LED ਪੈਟਰਨਾਂ ਰਾਹੀਂ ਵਿਜ਼ੂਅਲ ਫੀਡਬੈਕ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। board_config.h ਵਿੱਚ HEARTBEAT_LED ਮੈਕਰੋ ਨੂੰ ਯਕੀਨੀ ਬਣਾਓ। file ਸਹੀ LED ਪੈਟਰਨਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਟਿੱਪਣੀ ਕੀਤੀ ਗਈ ਹੈ।
- PWM ਜਨਰੇਸ਼ਨ (ST_ISO_APP_PWM _OFFSET): ਇਹ ਫੰਕਸ਼ਨ PWM ਸਿਗਨਲ ਨੂੰ ਦੋਵਾਂ ਆਉਟਪੁੱਟ ਚੈਨਲਾਂ 'ਤੇ 1 Hz ਦੀ ਬਾਰੰਬਾਰਤਾ ਅਤੇ ਡਿਊਟੀ ਚੱਕਰ 50% ਨਾਲ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇਹ PWM ਸਿਗਨਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਬਾਰੰਬਾਰਤਾ ਅਤੇ ਡਿਊਟੀ ਚੱਕਰ ਸੈੱਟ ਕਰਦਾ ਹੈ, ਅਤੇ ਨਿਰਧਾਰਤ ਬੋਰਡ ID ਲਈ PWM ਸਿਗਨਲ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। PWM ਸਿਗਨਲ ਦੋਵਾਂ ਚੈਨਲਾਂ ਵਿਚਕਾਰ ਇੱਕ ਆਫਸੈੱਟ ਨਾਲ ਤਿਆਰ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ ਉਹ ਪੜਾਅ ਵਿੱਚ ਨਹੀਂ ਹੁੰਦੇ।
- ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ ਟੈਸਟ (ST_ISO_APP_FaultTest): ਇਹ ਫੰਕਸ਼ਨ ਸਮਾਰਟ ਆਉਟਪੁੱਟ ਮੋਡੀਊਲ IPS1025 ਦੇ ਇਨਬਿਲਟ ਡਾਇਗਨੌਸਟਿਕ ਪਿੰਨਾਂ ਨੂੰ ਪੋਲਿੰਗ ਜਾਂ ਇੰਟਰੱਪਟ ਮੋਡ ਵਿੱਚ ਮੋਟਰਿੰਗ ਕਰਕੇ ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ ਦਾ ਮੁਲਾਂਕਣ ਕਰਦਾ ਹੈ। ਇਹ ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ ਮੋਡ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਦਾ ਹੈ, ਫਾਲਟ ਡਿਟੈਕਸ਼ਨ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਅਤੇ ਚੁਣੇ ਹੋਏ ਮੋਡ ਦੇ ਆਧਾਰ 'ਤੇ ਫਾਲਟ ਸਟੇਟਸ ਸਟ੍ਰਕਚਰ ਨੂੰ ਅਪਡੇਟ ਕਰਦਾ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਫਾਲਟ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਖੋਜ ਕੇ ਅਤੇ ਸੰਭਾਲ ਕੇ ਬੋਰਡ ਦੀ ਭਰੋਸੇਯੋਗਤਾ ਅਤੇ ਸੁਰੱਖਿਆ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਜਦੋਂ ਇਹ ਪੋਲਿੰਗ ਮੋਡ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਫਾਲਟ ਸਟੇਟਸ ਨੂੰ ਟਾਈਮਰ ਦੀ ਮਦਦ ਨਾਲ ਹਰ ਸਕਿੰਟ ਅਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਸਟ੍ਰਕਚਰ ਡਿਫਾਲਟਬੋਰਡਫਾਲਟਸਟੈਟਸ ਜਾਂ ਅਲਟਰਨੇਟਬੋਰਡਫਾਲਟਸਟੈਟਸ ਵਿੱਚ ਪ੍ਰਤੀਬਿੰਬਤ ਹੁੰਦਾ ਹੈ। ਜਦੋਂ ਇਹ ਇੰਟਰੱਪਟ ਮੋਡ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਫਾਲਟ ਸਟੇਟਸ ਨੂੰ ਸਿਰਫ ਉਦੋਂ ਹੀ ਅਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਫਾਲਟ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਇਹ ਸੰਬੰਧਿਤ ਆਉਟਪੁੱਟ ਪੋਰਟ ਨੂੰ ਸਾਫ਼ ਕਰਨ ਲਈ ਸੌਫਟਵੇਅਰ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ।
- PWM ਵੇਰੀਏਸ਼ਨ ਟੈਸਟ (ST_ISO_APP_PwmVariationTest): ਇਹ ਫੰਕਸ਼ਨ ਬੋਰਡ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੇ ਆਧਾਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਆਉਟਪੁੱਟ ਚੈਨਲਾਂ 'ਤੇ PWM (ਪਲਸ ਵਿਡਥ ਮੋਡੂਲੇਸ਼ਨ) ਸਿਗਨਲਾਂ ਦੀ ਵੇਰੀਏਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਡਿਫਾਲਟ ਅਤੇ ਵਿਕਲਪਿਕ ਬੋਰਡ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੋਵਾਂ ਲਈ PWM ਸਿਗਨਲਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਉਹਨਾਂ ਦੀ ਬਾਰੰਬਾਰਤਾ ਨੂੰ 100 Hz ਅਤੇ ਸ਼ੁਰੂਆਤੀ ਡਿਊਟੀ ਚੱਕਰ ਨੂੰ 0% 'ਤੇ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਫਿਰ ਫੰਕਸ਼ਨ ਡਿਊਟੀ ਚੱਕਰ ਨੂੰ 5% ਦੇ ਵਾਧੇ ਵਿੱਚ 0% ਤੋਂ 100% ਤੱਕ ਬਦਲਦਾ ਹੈ, ਅਤੇ 5% ਦੀ ਕਮੀ ਵਿੱਚ 100% ਤੋਂ 0% ਤੱਕ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਹਰੇਕ ਕਦਮ ਦੇ ਵਿਚਕਾਰ 2-ਸਕਿੰਟ ਦੀ ਦੇਰੀ ਨਾਲ। ਇਹ ਨਿਯੰਤਰਿਤ ਪਰਿਵਰਤਨ ਡਿਫਾਲਟ ਬੋਰਡ ਲਈ QA_0 ਅਤੇ QA_1 ਚੈਨਲਾਂ 'ਤੇ PWM ਸਿਗਨਲ ਵਿਵਹਾਰ ਦੇ ਨਿਰੀਖਣ ਅਤੇ ਮੁਲਾਂਕਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਵਿਕਲਪਿਕ ਬੋਰਡ ਲਈ QA_0_ALT ਅਤੇ QA_1_ALT।
ਇਹਨਾਂ ਸੰਰਚਨਾਵਾਂ ਦੀ ਪਾਲਣਾ ਕਰਕੇ ਅਤੇ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਐਪਲੀਕੇਸ਼ਨ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਪ੍ਰਦਰਸ਼ਨ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ ਲਈ X-NUCLEO-ISO1A1 ਬੋਰਡ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਸੈੱਟਅੱਪ ਅਤੇ ਵਰਤ ਸਕਦੇ ਹੋ।
ਸਿਸਟਮ ਸੈੱਟਅੱਪ ਗਾਈਡ
ਹਾਰਡਵੇਅਰ ਵਰਣਨ
STM32 ਨਿਊਕਲੀਓ ਪਲੇਟਫਾਰਮ
STM32 ਨਿਊਕਲੀਓ ਡਿਵੈਲਪਮੈਂਟ ਬੋਰਡ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਕਿਸੇ ਵੀ STM32 ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਲਾਈਨ ਦੇ ਨਾਲ ਹੱਲਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਅਤੇ ਪ੍ਰੋਟੋਟਾਈਪ ਬਣਾਉਣ ਲਈ ਇੱਕ ਕਿਫਾਇਤੀ ਅਤੇ ਲਚਕਦਾਰ ਤਰੀਕਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
Arduino® ਕਨੈਕਟੀਵਿਟੀ ਸਪੋਰਟ ਅਤੇ ST ਮੋਰਫੋ ਕਨੈਕਟਰ STM32 ਨਿਊਕਲੀਓ ਓਪਨ ਡਿਵੈਲਪਮੈਂਟ ਪਲੇਟਫਾਰਮ ਦੀ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਵਿਸਤਾਰ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਂਦੇ ਹਨ, ਜਿਸ ਵਿੱਚ ਚੁਣਨ ਲਈ ਵਿਸ਼ੇਸ਼ ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡਾਂ ਦੀ ਇੱਕ ਵਿਸ਼ਾਲ ਸ਼੍ਰੇਣੀ ਹੈ।
STM32 ਨਿਊਕਲੀਓ ਬੋਰਡ ਨੂੰ ਵੱਖਰੀ ਪੜਤਾਲਾਂ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ ਕਿਉਂਕਿ ਇਹ ST-LINK/V2-1 ਡੀਬੱਗਰ/ਪ੍ਰੋਗਰਾਮਰ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਦਾ ਹੈ।
STM32 ਨਿਊਕਲੀਓ ਬੋਰਡ ਵਿਆਪਕ STM32 ਸੌਫਟਵੇਅਰ HAL ਲਾਇਬ੍ਰੇਰੀ ਦੇ ਨਾਲ ਵੱਖ-ਵੱਖ ਪੈਕੇਜ ਕੀਤੇ ਸਾਫਟਵੇਅਰਾਂ ਦੇ ਨਾਲ ਆਉਂਦਾ ਹੈ।amples.

STM32 ਨਿਊਕਲੀਓ ਬੋਰਡ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ ਇੱਥੇ ਉਪਲਬਧ ਹੈ www.st.com/stm32nucleo
X-NUCLEO-ISO1A1 ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ
X-NUCLEO-ISO1A1 ਇੱਕ ਮੁਲਾਂਕਣ ਬੋਰਡ ਹੈ ਜਿਸ ਵਿੱਚ ਅਲੱਗ-ਥਲੱਗ ਉਦਯੋਗਿਕ ਇਨਪੁਟ/ਆਉਟਪੁੱਟ ਹੈ ਜੋ STM32 ਨਿਊਕਲੀਓ ਬੋਰਡ ਨੂੰ ਵਧਾਉਣ ਅਤੇ ਮਾਈਕ੍ਰੋ-PLC ਕਾਰਜਸ਼ੀਲਤਾ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। GPIO ਇੰਟਰਫੇਸਾਂ ਵਿੱਚ ਟਕਰਾਅ ਤੋਂ ਬਚਣ ਲਈ ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ 'ਤੇ ਜੰਪਰਾਂ ਦੀ ਢੁਕਵੀਂ ਚੋਣ ਦੇ ਨਾਲ X-NUCLEO-ISO1A1 ਬੋਰਡਾਂ ਵਿੱਚੋਂ ਦੋ ਨੂੰ STM32 ਨਿਊਕਲੀਓ ਬੋਰਡ ਦੇ ਉੱਪਰ ਇਕੱਠੇ ਸਟੈਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। UL1577 ਪ੍ਰਮਾਣਿਤ ਡਿਜੀਟਲ ਆਈਸੋਲੇਟਰ STISO620 ਅਤੇ STISO621 ਤਰਕ ਅਤੇ ਪ੍ਰਕਿਰਿਆ ਵਾਲੇ ਪਾਸੇ ਦੇ ਹਿੱਸਿਆਂ ਵਿਚਕਾਰ ਇਕੱਲਤਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ। ਪ੍ਰਕਿਰਿਆ ਵਾਲੇ ਪਾਸੇ ਤੋਂ ਦੋ ਮੌਜੂਦਾ ਸੀਮਤ ਉੱਚ-ਸਾਈਡ ਇਨਪੁਟਸ CLT03-2Q3 ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। CLT03-2Q3 ਉਦਯੋਗਿਕ ਸਥਿਤੀਆਂ ਲਈ ਸੁਰੱਖਿਆ, ਇਕੱਲਤਾ ਅਤੇ ਊਰਜਾ-ਰਹਿਤ ਸਥਿਤੀ ਸੰਕੇਤ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ IEC61000-4-2, IEC61000-4-4, ਅਤੇ IEC61000-4-5 ਵਰਗੇ ਮਿਆਰਾਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਇੱਕ-ਇੱਕ ਹਾਈ-ਸਾਈਡ ਸਵਿੱਚ IPS1025H-32/HQ-32 ਡਾਇਗਨੌਸਟਿਕਸ ਅਤੇ ਸਮਾਰਟ ਡਰਾਈਵਿੰਗ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੇ ਨਾਲ 5.6 A ਤੱਕ ਸੁਰੱਖਿਅਤ ਆਉਟਪੁੱਟ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ ਕੈਪੇਸਿਟਿਵ, ਰੋਧਕ, ਜਾਂ ਇੰਡਕਟਿਵ ਲੋਡ ਚਲਾ ਸਕਦੇ ਹਨ। X-NUCLEO-ISO1A1 X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ ਪੈਕੇਜ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਔਨਬੋਰਡ ICs ਦੇ ਤੇਜ਼ ਮੁਲਾਂਕਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

ਹਾਰਡਵੇਅਰ ਸੈੱਟਅੱਪ
ਹੇਠਾਂ ਦਿੱਤੇ ਹਾਰਡਵੇਅਰ ਭਾਗਾਂ ਦੀ ਲੋੜ ਹੈ:
- ਇੱਕ STM32 ਨਿਊਕਲੀਓ ਵਿਕਾਸ ਪਲੇਟਫਾਰਮ (ਸੁਝਾਇਆ ਗਿਆ ਆਰਡਰ ਕੋਡ: NUCLEO-GO71RB)
- ਇੱਕ ਉਦਯੋਗਿਕ ਡਿਜੀਟਲ ਆਉਟਪੁੱਟ ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ (ਆਰਡਰ ਕੋਡ: X-NUCLEO-ISO1A1)
- STM32 ਨਿਊਕਲੀਓ ਨੂੰ PC ਨਾਲ ਜੋੜਨ ਲਈ ਇੱਕ USB ਟਾਈਪ A ਤੋਂ ਮਾਈਕ੍ਰੋ USB ਕੇਬਲ
- X-NUCLEO-ISO1A1 ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ ਨੂੰ ਸਪਲਾਈ ਕਰਨ ਲਈ ਇੱਕ ਬਾਹਰੀ ਪਾਵਰ ਸਪਲਾਈ (24 V) ਅਤੇ ਸੰਬੰਧਿਤ ਤਾਰਾਂ।
ਸਾਫਟਵੇਅਰ ਸੈੱਟਅੱਪ
X-NUCLEO-ISO1A1 ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ ਨਾਲ ਲੈਸ STM32 ਨਿਊਕਲੀਓ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਬਣਾਉਣ ਲਈ ਇੱਕ ਢੁਕਵਾਂ ਵਿਕਾਸ ਵਾਤਾਵਰਣ ਸਥਾਪਤ ਕਰਨ ਲਈ ਹੇਠ ਲਿਖੇ ਸਾਫਟਵੇਅਰ ਹਿੱਸਿਆਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ:
- X-CUBE-ISO1: STM32Cube ਲਈ ਇੱਕ ਵਿਸਥਾਰ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਵਿਕਾਸ ਲਈ ਸਮਰਪਿਤ ਹੈ ਜਿਸ ਲਈ X-NUCLEO-ISO1A1 ਬੋਰਡ ਦੀ ਵਰਤੋਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। X-CUBE-ISO1 ਫਰਮਵੇਅਰ ਅਤੇ ਸੰਬੰਧਿਤ ਦਸਤਾਵੇਜ਼ ਇੱਥੇ ਉਪਲਬਧ ਹਨ www.st.com
- ਡਿਵੈਲਪਮੈਂਟ ਟੂਲਚੇਨ ਅਤੇ ਕੰਪਾਈਲਰ: STM32Cube ਐਕਸਪੈਂਸ਼ਨ ਸਾਫਟਵੇਅਰ ਤਿੰਨ ਹੇਠ ਲਿਖੇ ਵਾਤਾਵਰਣਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ:
- ARM® (IAR-EWARM) ਟੂਲਚੇਨ ਲਈ IAR ਏਮਬੈਡਡ ਵਰਕਬੈਂਚ
- ਅਸਲੀView ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਡਿਵੈਲਪਮੈਂਟ ਕਿੱਟ (MDK-ARM-STM32) ਟੂਲਚੇਨ
- STM32CubeIDE।
ਬੋਰਡ ਸੈੱਟਅੱਪ
ਬੋਰਡ ਨੂੰ ਹਾਰਡਵੇਅਰ ਯੂਜ਼ਰ ਮੈਨੂਅਲ (UM3483) ਵਿੱਚ ਦਰਸਾਏ ਅਨੁਸਾਰ ਢੁਕਵੇਂ ਜੰਪਰ ਸੈਟਿੰਗਾਂ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਸਹੀ ਕਾਰਜਸ਼ੀਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਅਤੇ ਸੰਭਾਵੀ ਸਮੱਸਿਆਵਾਂ ਤੋਂ ਬਚਣ ਲਈ ਇਹਨਾਂ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਧਿਆਨ ਨਾਲ ਪਾਲਣਾ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ।
ਸਿਸਟਮ ਸੈੱਟਅੱਪ ਗਾਈਡ
ਇਹ ਭਾਗ ਦੱਸਦਾ ਹੈ ਕਿ X-NUCLEO-ISO1A1 ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ ਦੇ ਨਾਲ STM32 Nucleo, NUCLEO-G071RB ਬੋਰਡ 'ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਵਿਕਸਤ ਕਰਨ ਅਤੇ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਵੱਖ-ਵੱਖ ਹਾਰਡਵੇਅਰ ਪਾਰਟਸ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨੇ ਹਨ।


X-CUBE-ISO1 ਐਕਸਪੈਂਸ਼ਨ ਪੈਕੇਜ ਲਈ ਸੈੱਟਅੱਪ
X-NUCLEO-ISO1A1 ਨੂੰ ਤੁਹਾਡੇ ਦੁਆਰਾ ਬੋਰਡ ਨੂੰ ਚਲਾਏ ਜਾ ਰਹੇ ਸੰਰਚਨਾ ਦੇ ਆਧਾਰ 'ਤੇ ਖਾਸ ਜੰਪਰ ਪੋਜੀਸ਼ਨਾਂ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਿਸਦੇ ਵੇਰਵੇ ਅਸੀਂ ਹਾਰਡਵੇਅਰ ਮੈਨੂਅਲ ਵਿੱਚ ਹੋਰ ਦੇਖ ਸਕਦੇ ਹਾਂ।
- ਕਦਮ 1. X-NUCLEO-ISO1A1 ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ ਨੂੰ ਮੋਰਫੋਕਨੈਕਟਰਾਂ ਰਾਹੀਂ STM32 ਨਿਊਕਲੀਓ ਦੇ ਉੱਪਰ ਲਗਾਓ।
ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਦੂਜੇ ਦੇ ਉੱਪਰ ਦੋ ਬੋਰਡ ਵਰਤ ਰਹੇ ਹੋ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਚਿੱਤਰ 11 ਵਾਂਗ ਸਟੈਕ ਕਰੋ। - ਕਦਮ 2. ਬੋਰਡ ਨੂੰ ਪਾਵਰ ਦੇਣ ਲਈ USB ਕਨੈਕਟਰ CN1 ਰਾਹੀਂ USB ਕੇਬਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ STM32 ਨਿਊਕਲੀਓ ਬੋਰਡ ਨੂੰ PC ਨਾਲ ਕਨੈਕਟ ਕਰੋ।
- ਕਦਮ 3. J1 ਨੂੰ 24V DC ਪਾਵਰ ਸਪਲਾਈ ਨਾਲ ਜੋੜ ਕੇ X-NUCLEO-ISO1A1 ਐਕਸਪੈਂਸ਼ਨ ਬੋਰਡ(ਬੋਰਡਾਂ) ਨੂੰ ਚਾਲੂ ਕਰੋ। ਜੇਕਰ ਸਟੈਕਡ ਬੋਰਡ ਵਰਤ ਰਹੇ ਹੋ, ਤਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਦੋਵੇਂ ਬੋਰਡ ਪਾਵਰ ਨਾਲ ਚੱਲਣ ਵਾਲੇ ਹਨ।
- ਕਦਮ 4. ਆਪਣੀ ਪਸੰਦੀਦਾ ਟੂਲਚੇਨ ਖੋਲ੍ਹੋ (Keil ਤੋਂ MDK-ARM, IAR ਤੋਂ EWARM, ਜਾਂ STM32CubeIDE)।
- ਕਦਮ 5. ਸਾਫਟਵੇਅਰ ਪ੍ਰੋਜੈਕਟ ਖੋਲ੍ਹੋ ਅਤੇ board_config.h ਵਿੱਚ ਜ਼ਰੂਰੀ ਬਦਲਾਅ ਕਰੋ। file ਵਰਤੇ ਜਾ ਰਹੇ ਬੋਰਡ(ਬੋਰਡਾਂ) ਦੀ ਸੰਰਚਨਾ ਦੇ ਅਨੁਸਾਰ।
- ਕਦਮ 6. st_iso_app.c ਵਿੱਚ ਢੁਕਵਾਂ ਵਰਤੋਂ ਕੇਸ ਮੈਕਰੋ ਸੈੱਟ ਕਰੋ। file ਜਾਂ main.c ਵਿੱਚ ST_ISO_APP_SelectUseCase ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲੋੜੀਂਦੇ ਵਰਤੋਂ ਦੇ ਕੇਸ ਨੂੰ ਕਾਲ ਕਰੋ। file ਕਿਸੇ ਹੋਰ ਲੋੜੀਂਦੇ ਫੰਕਸ਼ਨ ਦੇ ਨਾਲ।
- ਕਦਮ 7. ਸਭ ਨੂੰ ਕੰਪਾਇਲ ਕਰਨ ਲਈ ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ files ਅਤੇ ਕੰਪਾਇਲ ਕੀਤੇ ਕੋਡ ਨੂੰ STM32 ਨਿਊਕਲੀਓ ਬੋਰਡ ਦੀ ਮੈਮਰੀ ਵਿੱਚ ਲੋਡ ਕਰੋ।
- ਕਦਮ 8. STM32 ਨਿਊਕਲੀਓ ਬੋਰਡ 'ਤੇ ਕੋਡ ਚਲਾਓ ਅਤੇ ਉਮੀਦ ਕੀਤੇ ਵਿਵਹਾਰ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।
ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ
ਸਾਰਣੀ 4. ਦਸਤਾਵੇਜ਼ ਸੰਸ਼ੋਧਨ ਇਤਿਹਾਸ
| ਮਿਤੀ | ਸੰਸ਼ੋਧਨ | ਤਬਦੀਲੀਆਂ |
| 14-ਮਈ-2025 | 1 | ਸ਼ੁਰੂਆਤੀ ਰੀਲੀਜ਼। |
ਜ਼ਰੂਰੀ ਸੂਚਨਾ – ਧਿਆਨ ਨਾਲ ਪੜ੍ਹੋ
STMicroelectronics NV ਅਤੇ ਇਸਦੀਆਂ ਸਹਾਇਕ ਕੰਪਨੀਆਂ ("ST") ਬਿਨਾਂ ਨੋਟਿਸ ਦੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ST ਉਤਪਾਦਾਂ ਅਤੇ/ਜਾਂ ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਤਬਦੀਲੀਆਂ, ਸੁਧਾਰਾਂ, ਸੁਧਾਰਾਂ, ਸੋਧਾਂ, ਅਤੇ ਸੁਧਾਰ ਕਰਨ ਦਾ ਅਧਿਕਾਰ ਰਾਖਵਾਂ ਰੱਖਦੀਆਂ ਹਨ। ਖਰੀਦਦਾਰਾਂ ਨੂੰ ਆਰਡਰ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ST ਉਤਪਾਦਾਂ ਬਾਰੇ ਨਵੀਨਤਮ ਸੰਬੰਧਿਤ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ST ਉਤਪਾਦ ਆਰਡਰ ਦੀ ਰਸੀਦ ਦੇ ਸਮੇਂ ST ਦੇ ਨਿਯਮਾਂ ਅਤੇ ਵਿਕਰੀ ਦੀਆਂ ਸ਼ਰਤਾਂ ਦੇ ਅਨੁਸਾਰ ਵੇਚੇ ਜਾਂਦੇ ਹਨ।
ਖਰੀਦਦਾਰ ST ਉਤਪਾਦਾਂ ਦੀ ਚੋਣ, ਚੋਣ ਅਤੇ ਵਰਤੋਂ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਜ਼ਿੰਮੇਵਾਰ ਹੁੰਦੇ ਹਨ ਅਤੇ ST ਐਪਲੀਕੇਸ਼ਨ ਸਹਾਇਤਾ ਜਾਂ ਖਰੀਦਦਾਰਾਂ ਦੇ ਉਤਪਾਦਾਂ ਦੇ ਡਿਜ਼ਾਈਨ ਲਈ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਨਹੀਂ ਮੰਨਦੀ।
ਇੱਥੇ ST ਦੁਆਰਾ ਕਿਸੇ ਵੀ ਬੌਧਿਕ ਸੰਪੱਤੀ ਦੇ ਅਧਿਕਾਰ ਨੂੰ ਕੋਈ ਲਾਇਸੈਂਸ, ਐਕਸਪ੍ਰੈਸ ਜਾਂ ਅਪ੍ਰਤੱਖ ਨਹੀਂ ਦਿੱਤਾ ਗਿਆ ਹੈ।
ਇੱਥੇ ਦਿੱਤੀ ਗਈ ਜਾਣਕਾਰੀ ਤੋਂ ਵੱਖ ਪ੍ਰਬੰਧਾਂ ਵਾਲੇ ST ਉਤਪਾਦਾਂ ਦੀ ਮੁੜ ਵਿਕਰੀ ਐਸਟੀ ਦੁਆਰਾ ਅਜਿਹੇ ਉਤਪਾਦ ਲਈ ਦਿੱਤੀ ਗਈ ਕਿਸੇ ਵੀ ਵਾਰੰਟੀ ਨੂੰ ਰੱਦ ਕਰ ਦੇਵੇਗੀ।
ST ਅਤੇ ST ਲੋਗੋ ST ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ। ST ਟ੍ਰੇਡਮਾਰਕ ਬਾਰੇ ਵਾਧੂ ਜਾਣਕਾਰੀ ਲਈ, www.st.com/trademarks ਵੇਖੋ। ਹੋਰ ਸਾਰੇ ਉਤਪਾਦ ਜਾਂ ਸੇਵਾ ਦੇ ਨਾਮ ਉਹਨਾਂ ਦੇ ਸਬੰਧਤ ਮਾਲਕਾਂ ਦੀ ਸੰਪਤੀ ਹਨ।
ਇਸ ਦਸਤਾਵੇਜ਼ ਵਿਚਲੀ ਜਾਣਕਾਰੀ ਇਸ ਦਸਤਾਵੇਜ਼ ਦੇ ਕਿਸੇ ਵੀ ਪੁਰਾਣੇ ਸੰਸਕਰਣਾਂ ਵਿਚ ਪਹਿਲਾਂ ਦਿੱਤੀ ਗਈ ਜਾਣਕਾਰੀ ਨੂੰ ਬਦਲਦੀ ਹੈ ਅਤੇ ਬਦਲਦੀ ਹੈ।
© 2025 STMicroelectronics – ਸਾਰੇ ਅਧਿਕਾਰ ਰਾਖਵੇਂ ਹਨ
ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ
![]() |
STMicroelectronics UM3469 X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ ਵਿਸਥਾਰ [pdf] ਯੂਜ਼ਰ ਮੈਨੂਅਲ X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ ਐਕਸਪੈਂਸ਼ਨ, UM3469, X-CUBE-ISO1 ਸਾਫਟਵੇਅਰ ਐਕਸਪੈਂਸ਼ਨ, ਸਾਫਟਵੇਅਰ ਐਕਸਪੈਂਸ਼ਨ |

