HOLTEK HT32 MCU UART ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਯੂਜ਼ਰ ਮੈਨੂਅਲ
ਜਾਣ-ਪਛਾਣ
ਯੂਨੀਵਰਸਲ ਅਸਿੰਕ੍ਰੋਨਸ ਰਿਸੀਵਰ/ਟ੍ਰਾਂਸਮੀਟਰ - UART ਇੱਕ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਸੀਰੀਅਲ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਇੰਟਰਫੇਸ ਹੈ ਜੋ ਲਚਕਦਾਰ ਅਸਿੰਕ੍ਰੋਨਸ ਫੁੱਲ-ਡੁਪਲੈਕਸ ਡਾਟਾ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਸ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਵਿੱਚ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ “Module_UART” ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ APIs ਦੁਆਰਾ ਸਧਾਰਨ UART ਟ੍ਰਾਂਸਮਿਟ/ਪ੍ਰਾਪਤ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਸੌਫਟਵੇਅਰ ਰਿੰਗ ਬਫਰਾਂ ਦੇ ਨਾਲ TX/RX ਰੁਕਾਵਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਜਿਸਦੇ ਸੰਬੰਧਿਤ ਫੰਕਸ਼ਨਾਂ ਦਾ ਵਰਣਨ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਇਹ ਸਮੁੱਚੀ ਡੇਟਾ ਪ੍ਰਸਾਰਣ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਰਲ ਬਣਾਏਗਾ ਅਤੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ UART ਸੰਚਾਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਸਮਝਣ ਅਤੇ ਲਾਗੂ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਵੇਗਾ।
- ਫੰਕਸ਼ਨ ਟ੍ਰਾਂਸਮਿਟ/ਪ੍ਰਾਪਤ ਕਰੋ: ਬਾਈਟ ਰੀਡ, ਬਾਈਟ ਰਾਈਟ, ਬਫਰ ਰੀਡ, ਬਫਰ ਰਾਈਟ, ਆਦਿ।
- ਸਥਿਤੀ ਫੰਕਸ਼ਨ: ਬਫਰ ਦੀ ਲੰਬਾਈ, TX ਸਥਿਤੀ, ਆਦਿ ਪ੍ਰਾਪਤ ਕਰੋ।
ਇਹ ਦਸਤਾਵੇਜ਼ ਪਹਿਲਾਂ UART ਸੰਚਾਰ ਪ੍ਰੋਟੋਕੋਲ ਨੂੰ ਪੇਸ਼ ਕਰੇਗਾ, ਜੋ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ UART ਸੰਚਾਰ ਨੂੰ ਸਿਧਾਂਤ ਤੋਂ ਲੈ ਕੇ ਐਪਲੀਕੇਸ਼ਨ ਤੱਕ ਬਿਹਤਰ ਤਰੀਕੇ ਨਾਲ ਸਮਝਣ ਵਿੱਚ ਮਦਦ ਕਰੇਗਾ। ਇਸ ਤੋਂ ਬਾਅਦ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਲਈ ਲੋੜੀਂਦੇ ਸਰੋਤਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਅਤੇ ਤਿਆਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ, ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਡਾਊਨਲੋਡ, file ਅਤੇ ਡਾਇਰੈਕਟਰੀ ਸੰਰਚਨਾ ਦੇ ਨਾਲ ਨਾਲ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ ਵਿੱਚ ਵਰਤੇ ਗਏ ਟਰਮੀਨਲ ਸੌਫਟਵੇਅਰ ਟੂਲ ਦੀ ਜਾਣ-ਪਛਾਣ। ਫੰਕਸ਼ਨਲ ਵਰਣਨ ਚੈਪਟਰ ਵਿੱਚ, ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਡਾਇਰੈਕਟਰੀ ਬਣਤਰ, ਪੈਰਾਮੀਟਰ ਸੈਟਿੰਗਾਂ ਅਤੇ API ਵਰਣਨ ਪੇਸ਼ ਕੀਤਾ ਜਾਵੇਗਾ। API ਦੀ ਵਰਤੋਂ ਦਾ ਵਰਣਨ “Module_UART” ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ APIs ਲਈ ਲੋੜੀਂਦੇ ਫਲੈਸ਼/RAM ਸਰੋਤ ਖਪਤ ਨੂੰ ਵੀ ਸੂਚੀਬੱਧ ਕੀਤਾ ਜਾਵੇਗਾ। ਵਰਤੋਂ ਲਈ ਨਿਰਦੇਸ਼ ਅਧਿਆਇ ਉਪਭੋਗਤਾ ਨੂੰ ਵਾਤਾਵਰਣ ਦੀ ਤਿਆਰੀ, ਸੰਕਲਨ ਅਤੇ ਟੈਸਟ ਦੇ ਪੜਾਵਾਂ ਦੁਆਰਾ ਮਾਰਗਦਰਸ਼ਨ ਕਰੇਗਾ ਤਾਂ ਜੋ ਇਹ ਪੁਸ਼ਟੀ ਕੀਤੀ ਜਾ ਸਕੇ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਸਹੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰੇਗਾ। ਫਿਰ ਇਹ ਨਿਰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰੇਗਾ ਕਿ ਉਪਭੋਗਤਾ ਦੇ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ API ਨੂੰ ਕਿਵੇਂ ਏਕੀਕ੍ਰਿਤ ਕਰਨਾ ਹੈ ਅਤੇ ਅੰਤ ਵਿੱਚ ਉਹਨਾਂ ਸੋਧਾਂ ਅਤੇ ਆਮ ਸਮੱਸਿਆਵਾਂ ਲਈ ਇੱਕ ਹਵਾਲਾ ਪ੍ਰਦਾਨ ਕਰੇਗਾ ਜਿਹਨਾਂ ਦਾ ਸਾਹਮਣਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਵਰਤੇ ਗਏ ਸੰਖੇਪ:
- UART: ਯੂਨੀਵਰਸਲ ਅਸਿੰਕ੍ਰੋਨਸ ਰਿਸੀਵਰ/ਟ੍ਰਾਂਸਮੀਟਰ
- API: ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰੋਗਰਾਮਿੰਗ ਇੰਟਰਫੇਸ
- LSB: ਸਭ ਤੋਂ ਘੱਟ ਮਹੱਤਵਪੂਰਨ ਬਿੱਟ
- MSB: ਬਹੁਤ ਮਹੱਤਵਪੂਰਣ ਬਿੱਟ
- PC: ਨਿੱਜੀ ਕੰਪਿਊਟਰ
- ਐਸ ਕੇ: ਸਟਾਰਟਰ ਕਿੱਟ, HT32 ਵਿਕਾਸ ਬੋਰਡ
- IDE: ਏਕੀਕ੍ਰਿਤ ਵਿਕਾਸ ਵਾਤਾਵਰਣ
UART ਸੰਚਾਰ ਪ੍ਰੋਟੋਕੋਲ
UART ਇੱਕ ਸੀਰੀਅਲ ਸੰਚਾਰ ਕਿਸਮ ਦਾ ਇੰਟਰਫੇਸ ਹੈ ਜੋ ਇਸਦੇ ਟ੍ਰਾਂਸਮੀਟਰ 'ਤੇ ਪੈਰਲਲ-ਟੂ-ਸੀਰੀਅਲ ਡੇਟਾ ਪਰਿਵਰਤਨ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ ਅਤੇ ਫਿਰ ਇੱਕ ਸਮਾਨ ਰਿਸੀਵਰ ਨਾਲ ਲੜੀਵਾਰ ਸੰਚਾਰ ਕਰਦਾ ਹੈ। ਪ੍ਰਾਪਤਕਰਤਾ ਫਿਰ ਡੇਟਾ ਰਿਸੈਪਸ਼ਨ ਤੋਂ ਬਾਅਦ ਸੀਰੀਅਲ-ਟੂ-ਪੈਰਲਲ ਡੇਟਾ ਪਰਿਵਰਤਨ ਕਰਦਾ ਹੈ। ਚਿੱਤਰ 1 ਸੀਰੀਅਲ ਸੰਚਾਰ ਦਾ ਇੱਕ ਯੋਜਨਾਬੱਧ ਚਿੱਤਰ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਕਿਵੇਂ ਡੇਟਾ ਨੂੰ ਬਿੱਟਵਾਈਜ਼ ਕ੍ਰਮ ਵਿੱਚ ਟ੍ਰਾਂਸਫਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਸਲਈ ਟਰਾਂਸਮੀਟਰ ਅਤੇ ਰਿਸੀਵਰ ਵਿਚਕਾਰ ਦੋ-ਦਿਸ਼ਾ ਸੰਚਾਰ ਲਈ, ਸਿਰਫ ਦੋ ਤਾਰਾਂ, TX ਅਤੇ RX, ਨੂੰ ਇੱਕ ਦੂਜੇ ਦੇ ਵਿਚਕਾਰ ਲੜੀਵਾਰ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। TX ਉਹ ਪਿੰਨ ਹੈ ਜਿਸ 'ਤੇ UART ਸੀਰੀਅਲ ਡੇਟਾ ਨੂੰ ਸੰਚਾਰਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਰਿਸੀਵਰ ਦੇ RX ਪਿੰਨ ਨਾਲ ਜੁੜਿਆ ਹੁੰਦਾ ਹੈ। ਇਸ ਲਈ ਟਰਾਂਸਮੀਟਰ ਅਤੇ ਰਿਸੀਵਰ ਯੰਤਰਾਂ ਨੂੰ UART ਦੋ-ਪੱਖੀ ਸੰਚਾਰ ਕਰਨ ਲਈ ਉਹਨਾਂ ਦੇ TX ਅਤੇ RX ਪਿੰਨਾਂ ਨੂੰ ਕ੍ਰਾਸ-ਕਨੈਕਟ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ ਚਿੱਤਰ 2.
ਚਿੱਤਰ 1. ਸੀਰੀਅਲ ਸੰਚਾਰ ਚਿੱਤਰ
ਚਿੱਤਰ 2. UART ਸਰਕਟ ਡਾਇਗਰਾਮ
UART ਸੀਰੀਅਲ ਸੰਚਾਰ ਦੇ ਦੌਰਾਨ, ਡੇਟਾ ਪ੍ਰਸਾਰਣ ਅਸਿੰਕ੍ਰੋਨਸ ਹੁੰਦਾ ਹੈ. ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਟ੍ਰਾਂਸਮੀਟਰ ਅਤੇ ਰਿਸੀਵਰ ਵਿਚਕਾਰ ਕੋਈ ਘੜੀ ਜਾਂ ਹੋਰ ਸਮਕਾਲੀ ਸੰਕੇਤ ਨਹੀਂ ਹੈ। ਇੱਥੇ ਇੱਕ ਬੌਡ ਰੇਟ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜੋ ਕਿ ਸੀਰੀਅਲ ਡਾਟਾ ਸੰਚਾਰਿਤ/ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਗਤੀ ਹੈ ਅਤੇ ਜੋ ਡੇਟਾ ਟ੍ਰਾਂਸਫਰ ਤੋਂ ਪਹਿਲਾਂ ਦੋਵਾਂ ਪਾਸਿਆਂ ਦੁਆਰਾ ਨਿਰਧਾਰਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਵਿਸ਼ੇਸ਼ ਬਿੱਟ ਜਿਵੇਂ ਕਿ ਸਟਾਰਟ ਅਤੇ ਸਟਾਪ ਬਿਟਸ ਨੂੰ ਡਾਟਾ ਪੈਕੇਟ ਦੀ ਸ਼ੁਰੂਆਤ ਅਤੇ ਅੰਤ ਵਿੱਚ ਇੱਕ ਸੰਪੂਰਨ UART ਡੇਟਾ ਪੈਕੇਟ ਬਣਾਉਣ ਲਈ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ। ਚਿੱਤਰ 3 UART ਡੇਟਾ ਪੈਕੇਟ ਬਣਤਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜਦੋਂ ਕਿ ਚਿੱਤਰ 4 ਇੱਕ ਬਰਾਬਰੀ ਬਿੱਟ ਤੋਂ ਬਿਨਾਂ ਇੱਕ UART 8-ਬਿੱਟ ਡੇਟਾ ਪੈਕੇਟ ਦਿਖਾਉਂਦਾ ਹੈ।
ਚਿੱਤਰ 3. UART ਡਾਟਾ ਪੈਕੇਟ ਢਾਂਚਾ
ਚਿੱਤਰ 4. UART 8-ਬਿੱਟ ਡਾਟਾ ਪੈਕੇਟ ਫਾਰਮੈਟ
UART ਡੇਟਾ ਪੈਕੇਟ ਦੇ ਹਰੇਕ ਹਿੱਸੇ ਨੂੰ ਹੇਠਾਂ ਕ੍ਰਮ ਵਿੱਚ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਹੈ।
- ਸਟਾਰਟ ਬਿੱਟ: ਇਹ ਇੱਕ ਡੇਟਾ ਪੈਕੇਟ ਦੀ ਸ਼ੁਰੂਆਤ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਟਰਾਂਸਮਿਸ਼ਨ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ UART TX ਪਿੰਨ ਆਮ ਤੌਰ 'ਤੇ ਉੱਚ ਤਰਕ ਪੱਧਰ 'ਤੇ ਰਹਿੰਦਾ ਹੈ। ਜੇਕਰ ਡੇਟਾ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ, ਤਾਂ UART ਟ੍ਰਾਂਸਮੀਟਰ TX ਪਿੰਨ ਨੂੰ ਉੱਚੇ ਤੋਂ ਨੀਵੇਂ ਵੱਲ ਖਿੱਚੇਗਾ, ਭਾਵ, 1 ਤੋਂ 0 ਤੱਕ, ਅਤੇ ਫਿਰ ਇਸਨੂੰ ਇੱਕ ਘੜੀ ਦੇ ਚੱਕਰ ਲਈ ਉੱਥੇ ਰੱਖੋ। UART ਰਿਸੀਵਰ ਡਾਟਾ ਪੜ੍ਹਨਾ ਸ਼ੁਰੂ ਕਰ ਦੇਵੇਗਾ ਜਦੋਂ RX ਪਿੰਨ 'ਤੇ ਉੱਚ ਤੋਂ ਘੱਟ ਤਬਦੀਲੀ ਦਾ ਪਤਾ ਲਗਾਇਆ ਗਿਆ ਹੈ।
- ਡਾਟਾ: ਇਹ 7, 8 ਜਾਂ 9 ਬਿੱਟ ਦੇ ਡੇਟਾ ਦੀ ਲੰਬਾਈ ਦੇ ਨਾਲ, ਟ੍ਰਾਂਸਫਰ ਕੀਤਾ ਗਿਆ ਅਸਲ ਡੇਟਾ ਹੈ। ਡਾਟਾ ਆਮ ਤੌਰ 'ਤੇ ਪਹਿਲਾਂ LSB ਨਾਲ ਟ੍ਰਾਂਸਫਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
- ਸਮਾਨਤਾ ਬਿੱਟ: ਡੇਟਾ ਵਿੱਚ ਤਰਕ "1" ਦੀ ਸੰਖਿਆ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਕੀ ਪ੍ਰਸਾਰਣ ਦੌਰਾਨ ਕੋਈ ਡੇਟਾ ਬਦਲਿਆ ਹੈ ਜਾਂ ਨਹੀਂ। ਸਮ ਬਰਾਬਰੀ ਲਈ, ਡੇਟਾ ਵਿੱਚ ਤਰਕ "1" ਦੀ ਕੁੱਲ ਸੰਖਿਆ ਇੱਕ ਬਰਾਬਰ ਸੰਖਿਆ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ, ਇਸਦੇ ਉਲਟ, ਡੇਟਾ ਵਿੱਚ ਤਰਕ "1" ਦੀ ਕੁੱਲ ਸੰਖਿਆ ਔਡ ਬਰਾਬਰੀ ਲਈ ਇੱਕ ਵਿਜੋਗ ਸੰਖਿਆ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
- ਸਟਾਪ ਬਿੱਟ: ਇਹ ਇੱਕ ਡੇਟਾ ਪੈਕੇਟ ਦੇ ਅੰਤ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਜਿੱਥੇ UART ਟ੍ਰਾਂਸਮੀਟਰ TX ਪਿੰਨ ਨੂੰ ਨੀਵੇਂ ਤੋਂ ਉੱਚੇ ਵੱਲ ਖਿੱਚੇਗਾ, ਭਾਵ, 0 ਤੋਂ 1 ਤੱਕ, ਅਤੇ ਫਿਰ ਇਸਨੂੰ 1 ਜਾਂ 2-ਬਿੱਟ ਸਮਾਂ ਮਿਆਦ ਲਈ ਉੱਥੇ ਰੱਖੋ।
ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਦੱਸਿਆ ਗਿਆ ਹੈ, ਕਿਉਂਕਿ UART ਸਰਕਟ ਵਿੱਚ ਕੋਈ ਘੜੀ ਸਿਗਨਲ ਨਹੀਂ ਹੈ, ਉਹੀ ਸੀਰੀਅਲ ਡਾਟਾ ਸੰਚਾਰਿਤ/ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਗਤੀ, ਜਿਸ ਨੂੰ ਬਾਡ ਰੇਟ ਵਜੋਂ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ, ਨੂੰ ਗਲਤੀ-ਮੁਕਤ ਪ੍ਰਸਾਰਣ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਟ੍ਰਾਂਸਮੀਟਰ ਅਤੇ ਰਿਸੀਵਰ ਵਿਚਕਾਰ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਬੌਡ ਦਰ ਨੂੰ ਪ੍ਰਤੀ ਸਕਿੰਟ, bps (ਬਿੱਟ ਪ੍ਰਤੀ ਸਕਿੰਟ) ਵਿੱਚ ਟ੍ਰਾਂਸਫਰ ਕੀਤੇ ਬਿੱਟਾਂ ਦੀ ਸੰਖਿਆ ਦੁਆਰਾ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਕੁਝ ਮਿਆਰੀ ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਵਰਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਬੌਡ ਦਰਾਂ ਹਨ 4800bps, 9600bps, 19200bps, 115200bps, ਆਦਿ। ਇੱਕ ਸਿੰਗਲ ਡਾਟਾ ਬਿੱਟ ਟ੍ਰਾਂਸਫਰ ਕਰਨ ਲਈ ਲੋੜੀਂਦਾ ਸਮਾਂ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
ਸਾਰਣੀ 1. ਬੌਡ ਰੇਟ ਬਨਾਮ 1-ਬਿੱਟ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਸਮਾਂ
ਬੌਡ ਦਰ | 1-ਬਿੱਟ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਸਮਾਂ |
4800bps | 208.33µs |
9600bps | 104.16µs |
19200bps | 52.08µs |
115200bps | 8.68µs |
ਸਰੋਤ ਡਾਊਨਲੋਡ ਅਤੇ ਤਿਆਰੀ
ਇਹ ਅਧਿਆਇ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਅਤੇ ਵਰਤੇ ਗਏ ਸੌਫਟਵੇਅਰ ਟੂਲ ਨੂੰ ਪੇਸ਼ ਕਰੇਗਾ, ਨਾਲ ਹੀ ਡਾਇਰੈਕਟਰੀ ਨੂੰ ਸੰਰਚਿਤ ਕਿਵੇਂ ਕਰਨਾ ਹੈ ਅਤੇ file ਮਾਰਗ
ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ
ਪਹਿਲਾਂ, ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ Holtek HT32 ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਡਾਊਨਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ। ਡਾਊਨਲੋਡ ਲਿੰਕ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਇੱਥੇ ਦੋ ਵਿਕਲਪ ਹਨ, HT32F0xxxx ਸੀਰੀਜ਼ ਲਈ HT32_M5p_Vyyyymmdd.zip ਅਤੇ HT32F3xxxx ਸੀਰੀਜ਼ ਲਈ HT32_M1_Vyyyymmdd.zip। ਡਾਊਨਲੋਡ ਕਰੋ ਅਤੇ ਲੋੜੀਦਾ ਨੂੰ ਅਨਜ਼ਿਪ ਕਰੋ file.
ਜ਼ਿਪ file ਵਿੱਚ ਕਈ ਫੋਲਡਰ ਸ਼ਾਮਲ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਦਸਤਾਵੇਜ਼, ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ, ਟੂਲਸ ਅਤੇ ਹੋਰ ਆਈਟਮਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਸ਼੍ਰੇਣੀਬੱਧ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਸਦਾ ਪਲੇਸਮੈਂਟ ਮਾਰਗ ਚਿੱਤਰ 5 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। HT32 ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਜ਼ਿਪ file ਇੱਕ ਨਾਲ file HT32_STD_xxxxx_FWLib_Vm.n.r_s.zip ਦਾ ਨਾਮ Firmware_Library ਫੋਲਡਰ ਦੇ ਹੇਠਾਂ ਸਥਿਤ ਹੈ।
ਚਿੱਤਰ 5. HT32_M0p_Vyyyymmdd.zip ਸਮੱਗਰੀ
ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ
ਹੇਠਾਂ ਦਿੱਤੇ ਲਿੰਕ ਤੋਂ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ। ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ ਇੱਕ ਜ਼ਿਪ ਵਿੱਚ ਪੈਕ ਕੀਤਾ ਗਿਆ ਹੈ file ਇੱਕ ਨਾਲ file HT32_APPFW_xxxxx_APPCODENAME_Vm.n.r_s.zip ਦਾ ਨਾਮ। ਦੇਖੋ ਚਿੱਤਰ 6 ਲਈ file ਨਾਮ ਸੰਮੇਲਨ.
ਚਿੱਤਰ 6. ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ File ਨਾਮ ਜਾਣ-ਪਛਾਣ
ਡਾਊਨਲੋਡ ਲਿੰਕ: https://mcu.holtek.com.tw/ht32/app.fw/Module_UART/
File ਅਤੇ ਡਾਇਰੈਕਟਰੀ ਸੰਰਚਨਾ
ਕਿਉਂਕਿ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ HT32 ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਨਹੀਂ ਹੈ files, ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਅਤੇ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਅਨਜ਼ਿਪ ਕੀਤਾ ਗਿਆ ਹੈ fileਸੰਕਲਨ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ s ਨੂੰ ਸਹੀ ਮਾਰਗ ਵਿੱਚ ਰੱਖਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਜ਼ਿਪ file ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਜਾਂ ਵਧੇਰੇ ਫੋਲਡਰ ਹੁੰਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 7 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਐਪਲੀਕੇਸ਼ਨ ਫੋਲਡਰ ਨੂੰ HT32 ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਰੂਟ ਡਾਇਰੈਕਟਰੀ ਦੇ ਹੇਠਾਂ ਰੱਖੋ। file ਪਾਥ ਕੌਂਫਿਗਰੇਸ਼ਨ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 8 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਵਿਕਲਪਿਕ ਤੌਰ 'ਤੇ, ਉਸੇ ਸੰਰਚਨਾ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਅਤੇ HT32 ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਇੱਕੋ ਮਾਰਗ ਵਿੱਚ ਅਨਜ਼ਿਪ ਕਰੋ।
ਚਿੱਤਰ 7. HT32_APPFW_xxxxx_APPCODENAME_Vm.n.r_s.zip ਸਮੱਗਰੀ
ਚਿੱਤਰ 8. ਡੀਕੰਪਰੈਸ਼ਨ ਮਾਰਗ
ਟਰਮੀਨਲ ਸਾੱਫਟਵੇਅਰ
ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਫੰਕਸ਼ਨ ਚੋਣ ਜਾਂ ਸਥਿਤੀ ਡਿਸਪਲੇ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ COM ਪੋਰਟ ਰਾਹੀਂ ਸੰਦੇਸ਼ਾਂ ਦਾ ਤਬਾਦਲਾ ਕਰ ਸਕਦਾ ਹੈ। ਇਸ ਲਈ ਹੋਸਟ ਸਾਈਡ ਨੂੰ ਟਰਮੀਨਲ ਸੌਫਟਵੇਅਰ ਪਹਿਲਾਂ ਤੋਂ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਉਪਭੋਗਤਾ ਉਚਿਤ ਕੁਨੈਕਸ਼ਨ ਸੌਫਟਵੇਅਰ ਚੁਣ ਸਕਦੇ ਹਨ, ਜਾਂ ਮੁਫਤ ਲਾਇਸੰਸਸ਼ੁਦਾ ਸੌਫਟਵੇਅਰ ਜਿਵੇਂ ਕਿ Tera Term ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਨ। ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ, UART ਚੈਨਲ ਨੂੰ 8-ਬਿੱਟ ਦੀ ਇੱਕ ਸ਼ਬਦ ਲੰਬਾਈ, ਕੋਈ ਸਮਾਨਤਾ, 1 ਸਟਾਪ ਬਿੱਟ ਅਤੇ 115200bps ਦੀ ਇੱਕ ਬੌਡ ਦਰ ਨਾਲ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ।
ਕਾਰਜਾਤਮਕ ਵਰਣਨ
ਇਹ ਅਧਿਆਇ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਲਈ ਇੱਕ ਕਾਰਜਸ਼ੀਲ ਵਰਣਨ ਪ੍ਰਦਾਨ ਕਰੇਗਾ, ਜਿਸ ਵਿੱਚ ਡਾਇਰੈਕਟਰੀ ਢਾਂਚੇ, API ਆਰਕੀਟੈਕਚਰ, ਸੈਟਿੰਗ ਵਰਣਨ ਆਦਿ ਬਾਰੇ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੈ।
ਡਾਇਰੈਕਟਰੀ ਬਣਤਰ
ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ file ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਫੋਲਡਰ ਰੱਖਦਾ ਹੈ। ਅਗਲੀ ਪਰਤ “Module_UART” ਫੋਲਡਰ ਹੈ ਜਿਸ ਵਿੱਚ ਦੋ ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰੋਗਰਾਮ ਹਨ, “UART_Module_Example” ਅਤੇ “UART_Bridge”। ਸੰਬੰਧਿਤ files ਸੂਚੀਬੱਧ ਅਤੇ ਹੇਠਾਂ ਵਰਣਨ ਕੀਤੇ ਗਏ ਹਨ।
ਸਾਰਣੀ 2. ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਡਾਇਰੈਕਟਰੀ ਢਾਂਚਾ
ਫੋਲਡਰ / File ਨਾਮ | ਵਰਣਨ |
\\ਐਪਲੀਕੇਸ਼ਨ\Module_UART\UART_Module_Example*1 | |
_CreateProject.bat | ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਲਈ ਬੈਚ ਸਕ੍ਰਿਪਟਾਂ files |
_ProjectSource.ini | ਸ਼ੁਰੂਆਤ file ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਸਰੋਤ ਕੋਡ ਜੋੜਨ ਲਈ |
ht32_board_config.h | ਸਥਾਪਨਾ ਕਰਨਾ file IC ਪੈਰੀਫਿਰਲ I/O ਅਸਾਈਨਮੈਂਟ ਨਾਲ ਸਬੰਧਤ |
ht32fxxxxxx_01_it.c | ਸੇਵਾ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਰੋਕੋ file |
ਮੁੱਖ.ਸੀ | ਮੁੱਖ ਪ੍ਰੋਗਰਾਮ ਸਰੋਤ ਕੋਡ |
\\ਐਪਲੀਕੇਸ਼ਨ\Module_UART\UART_Bridge*2 | |
_CreateProject.bat | ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਲਈ ਬੈਚ ਸਕ੍ਰਿਪਟਾਂ files |
_ProjectSource.ini | ਸ਼ੁਰੂਆਤ file ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਸਰੋਤ ਕੋਡ ਜੋੜਨ ਲਈ |
ht32_board_config.h | ਸਥਾਪਨਾ ਕਰਨਾ file IC ਪੈਰੀਫਿਰਲ I/O ਅਸਾਈਨਮੈਂਟ ਨਾਲ ਸਬੰਧਤ |
ht32fxxxxxx_01_it.c | ਸੇਵਾ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਰੋਕੋ file |
ਮੁੱਖ.ਸੀ | ਮੁੱਖ ਪ੍ਰੋਗਰਾਮ ਦਾ ਸਰੋਤ ਕੋਡ |
uart_bridge.h uart_bridge.c | UART ਬ੍ਰਿਜ ਹੈਡਰ file ਅਤੇ ਸਰੋਤ ਕੋਡ file |
\\ ਉਪਯੋਗਤਾਵਾਂ \ ਮਿਡਲਵੇਅਰ | |
uart_module.h*3 uart_module.c*3 | API ਸਿਰਲੇਖ file ਅਤੇ ਸਰੋਤ ਕੋਡ file |
\\ ਉਪਯੋਗਤਾਵਾਂ \ ਆਮ | |
ringbuffer.h ring_buffer.c | ਸਾਫਟਵੇਅਰ ਰਿੰਗ ਬਫਰ ਹੈਡਰ file ਅਤੇ ਸਰੋਤ ਕੋਡ file |
ਨੋਟ:
- "UART_Module_Ex. ਵਿੱਚample” ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ, API ਰੀਡ ਅਤੇ ਰਾਈਟ ਓਪਰੇਸ਼ਨ ਇੱਕ ਲੂਪਬੈਕ ਤਰੀਕੇ ਨਾਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, “API ਵਰਤੋਂ ਐਕਸ.ampਹੋਰ ਵੇਰਵਿਆਂ ਲਈ les” ਭਾਗ.
- "UART_Bridge" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ, ਦੋ UART ਚੈਨਲ, UART CH0 ਅਤੇ UART CH1, ਕਿਰਿਆਸ਼ੀਲ ਹੁੰਦੇ ਹਨ, ਅਤੇ COMMAND ਢਾਂਚੇ ਦੁਆਰਾ ਕਸਟਮ ਸੰਚਾਰ ਪ੍ਰੋਟੋਕੋਲ ਦੋ UART ਡਿਵਾਈਸਾਂ ਵਿਚਕਾਰ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ, “API ਵਰਤੋਂ ਐਕਸamples" ਭਾਗ.
- ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ uart_module.c/h ਵਰਤਣ ਦੀ ਲੋੜ ਹੈ files ਜਿਸ ਕੋਲ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਸੰਸਕਰਣ ਦੀ ਲੋੜ ਹੈ। ਲੋੜ ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਅਪਡੇਟ ਦੇ ਅਨੁਸਾਰ ਬਦਲ ਸਕਦੀ ਹੈ। ਮੌਜੂਦਾ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਸੰਸਕਰਣ ਦੀ ਲੋੜ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ, main.c ਵਿੱਚ ਕੀਵਰਡ "ਨਿਰਭਰਤਾ ਜਾਂਚ" ਦੀ ਖੋਜ ਕਰਕੇ ਨਿਰਭਰਤਾ ਜਾਂਚ ਸਮੱਗਰੀ ਨੂੰ ਵੇਖੋ। file. ਜੇਕਰ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਸੰਸਕਰਣ ਲੋੜਾਂ ਨੂੰ ਪੂਰਾ ਨਹੀਂ ਕਰਦਾ ਹੈ, ਤਾਂ "ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ" ਭਾਗ ਵਿੱਚ ਦਿੱਤੇ ਲਿੰਕ ਤੋਂ ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ।
API ਆਰਕੀਟੈਕਚਰ
ਹਰੇਕ API ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪੈਰਾਮੀਟਰ CH ਹੁੰਦਾ ਹੈ, ਜੋ ਕਿ UART ਚੈਨਲ ਹੈ। ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੇ UART ਚੈਨਲ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾਣਾ ਹੈ। ਵਰਤਮਾਨ ਵਿੱਚ ਚਾਰ UART ਚੈਨਲ ਸਮਰਥਿਤ ਹਨ ਅਤੇ ਇਸਲਈ ਚਾਰ ਸਥਿਰ ਚਿੰਨ੍ਹਾਂ ਨੂੰ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹਨਾਂ ਦੀ ਵਰਤੋਂ CH ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੋ API ਨੂੰ ਨਿਯੰਤਰਣ ਲਈ ਅਧਾਰ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
- UARTM_CH0: ਇਨਪੁਟ ਪੈਰਾਮੀਟਰ - UART CH0 ਨੂੰ ਕੰਟਰੋਲ ਜਾਂ ਕੌਂਫਿਗਰ ਕਰੋ
- UARTM_CH1: ਇਨਪੁਟ ਪੈਰਾਮੀਟਰ - UART CH1 ਨੂੰ ਕੰਟਰੋਲ ਜਾਂ ਕੌਂਫਿਗਰ ਕਰੋ
- UARTM_CH2: ਇਨਪੁਟ ਪੈਰਾਮੀਟਰ - UART CH2 ਨੂੰ ਕੰਟਰੋਲ ਜਾਂ ਕੌਂਫਿਗਰ ਕਰੋ
- UARTM_CH3: ਇਨਪੁਟ ਪੈਰਾਮੀਟਰ - UART CH3 ਨੂੰ ਕੰਟਰੋਲ ਜਾਂ ਕੌਂਫਿਗਰ ਕਰੋ
ਮੈਮੋਰੀ ਸਪੇਸ ਬਰਬਾਦ ਨਹੀਂ ਹੋਵੇਗੀ ਜੇਕਰ ਸਿਰਫ ਇੱਕ UART ਚੈਨਲ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਸਮਰਥਿਤ UART ਚੈਨਲਾਂ ਦੀ ਗਿਣਤੀ ਸੈੱਟ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਅਤੇ ਉਪਲਬਧ ਮੈਮੋਰੀ ਸਪੇਸ ਨੂੰ ਵਧਾਉਣ ਲਈ ਪ੍ਰੀਪ੍ਰੋਸੈਸਰ ਦੁਆਰਾ ਅਣਵਰਤੇ UART ਚੈਨਲ ਕੋਡ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। API ਆਰਕੀਟੈਕਚਰ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ ਚਿੱਤਰ 9.
ਚਿੱਤਰ 9. API ਆਰਕੀਟੈਕਚਰ ਬਲਾਕ ਡਾਇਗ੍ਰਾਮ
ਹਰੇਕ API UART ਚੈਨਲ-ਸਬੰਧਤ ਸੈਟਿੰਗਾਂ ਜਾਂ ਨਿਯੰਤਰਣਾਂ ਦੇ ਚਾਰ ਸਮੂਹਾਂ ਤੋਂ ਬਣਿਆ ਹੁੰਦਾ ਹੈ ਤਾਂ ਜੋ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਸਿਰਫ ਲੋੜੀਂਦੇ CH ਪੈਰਾਮੀਟਰ ਨੂੰ ਇਨਪੁਟ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇ। ਸੰਬੰਧਿਤ API ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ, ਇਸ ਨੂੰ ਢਾਂਚੇ ਦੇ ਫਾਰਮ, USART_InitTypeDef ਦੇ ਨਾਲ ਇੱਕ ਵਾਧੂ UART ਮੂਲ ਸੰਰਚਨਾ ਪੈਰਾਮੀਟਰ ਸਾਰਣੀ ਦੀ ਲੋੜ ਹੈ। API ਸਾਰਣੀ ਵਿੱਚ ਪੈਰਾਮੀਟਰ ਸਮੱਗਰੀ ਦੇ ਅਨੁਸਾਰ UART ਮੂਲ ਸੰਰਚਨਾ ਨੂੰ ਲਾਗੂ ਕਰੇਗਾ। UART ਬੇਸਿਕ ਕੌਂਫਿਗਰੇਸ਼ਨ ਸਟ੍ਰਕਚਰ ਟੇਬਲ ਲਈ “API ਵਰਣਨ” ਭਾਗ ਵੇਖੋ।
uart_module.c/.h files ਵਿੱਚ ਹਰੇਕ UART ਚੈਨਲ ਦੀ ਸਿਰਫ ਇੰਟਰੱਪਟ (CHx_IRQ) ਅਤੇ ਸਥਿਤੀ ਸਾਰਣੀ (CHx ਸਥਿਤੀ) ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਕਿ UART ਸੰਚਾਰ ਲਈ ਲੋੜੀਂਦੀਆਂ ਸਾਰੀਆਂ ਸੈਟਿੰਗਾਂ ht32_board_config.h ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ht32_board_config.h ਵਿੱਚ ਹਾਰਡਵੇਅਰ ਸੰਬੰਧਿਤ ਪੈਰਾਮੀਟਰ file ਹੇਠਾਂ ਦਿੱਤੀ ਸਾਰਣੀ ਵਿੱਚ ਦਰਸਾਏ ਗਏ ਹਨ। ਹੋਰ ਵੇਰਵੇ "ਸੈਟਿੰਗ ਵਰਣਨ" ਭਾਗ ਵਿੱਚ ਦਿੱਤੇ ਗਏ ਹਨ।
ht32_board_config.h ਵਿੱਚ ਹਾਰਡਵੇਅਰ ਸੰਬੰਧਿਤ ਪੈਰਾਮੀਟਰਾਂ ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ I/O ਸੈਟਿੰਗਾਂ ਅਤੇ ਭੌਤਿਕ UART ਪੋਰਟ ਸੈਟਿੰਗਾਂ ਸ਼ਾਮਲ ਹਨ।
ਸਾਰਣੀ 3. ht32_board_config.h ਵਿੱਚ ਪਰਿਭਾਸ਼ਾ ਚਿੰਨ੍ਹ
ਪ੍ਰਤੀਕ | ਵਰਣਨ |
HTCFG_UARTM_CH0 | ਭੌਤਿਕ UART ਪੋਰਟ ਨਾਮ; ਸਾਬਕਾample: UART0, UART1… |
HTCFG_UARTM0_TX_GPIO_PORT | CH0 ਲਈ TX ਦਾ ਪੋਰਟ ਨਾਮ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ; ਸਾਬਕਾample: A, B, C… |
HTCFG_UARTM0_TX_GPIO_PIN | CH0 ਲਈ TX ਦਾ ਪਿੰਨ ਨੰਬਰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ; ਸਾਬਕਾample: 0~15 |
HTCFG_UARTM0_RX_GPIO_PORT | CH0 ਲਈ RX ਦਾ ਪੋਰਟ ਨਾਮ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ; ਸਾਬਕਾample: A, B, C… |
HTCFG_UARTM0_RX_GPIO_PIN | CH0 ਲਈ TX ਦਾ ਪਿੰਨ ਨੰਬਰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ; ਸਾਬਕਾample: 0~15 |
HTCFG_UARTM0_TX_BUFFER_SIZE | CH0 ਲਈ TX ਬਫਰ ਦਾ ਆਕਾਰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ; ਸਾਬਕਾampਲੇ: 128 |
HTCFG_UARTM0_RX_BUFFER_SIZE | CH0 ਲਈ RX ਬਫਰ ਦਾ ਆਕਾਰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ; ਸਾਬਕਾampਲੇ: 128 |
UART ਚੈਨਲ AFIO ਸੰਰਚਨਾ ਨੂੰ ਸੋਧਣ ਲਈ, ਸੰਬੰਧਿਤ ਡਿਵਾਈਸ ਡੇਟਾਸ਼ੀਟ ਵੇਖੋ। ਵਰਤਮਾਨ ਵਿੱਚ UART CH0 ਲਈ ਸਿਰਫ਼ I/O ਪਰਿਭਾਸ਼ਾਵਾਂ ਹੀ ਪ੍ਰਭਾਵੀ ਹੁੰਦੀਆਂ ਹਨ ਕਿਉਂਕਿ ਸਿਰਫ਼ UART CH0 ਨੂੰ ht32_board_config.h ਵਿੱਚ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। UART CH1 ~ 3 ਨੂੰ ਜੋੜਨ ਲਈ, ਉਹਨਾਂ ਦੀਆਂ I/O ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ UART CH0 ਪਰਿਭਾਸ਼ਾ ਦਾ ਹਵਾਲਾ ਦੇ ਕੇ ਜਾਂ "ਸੈਟਿੰਗ ਸੋਧ ਅਤੇ FAQs" ਭਾਗ ਦਾ ਹਵਾਲਾ ਦੇ ਕੇ ਪੂਰਾ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
ਤਿੰਨ API ਆਰਕੀਟੈਕਚਰ ਦੀਆਂ ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ:
- ਚਾਰ ਤੱਕ UART ਚੈਨਲ ਸਮਰਥਿਤ ਹਨ। ਉਹਨਾਂ ਦੇ ਇਨਪੁਟ ਪੈਰਾਮੀਟਰ UARTM_CH0, UARTM_CH1, UARTM_CH2 ਅਤੇ UARTM_CH3 ਹਨ।
- UART ਚੈਨਲਾਂ ਦੀ ਗਿਣਤੀ ਸੈੱਟ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ ਅਤੇ ਨਾ ਵਰਤੇ ਚੈਨਲ ਉਪਲਬਧ ਮੈਮੋਰੀ ਸਪੇਸ ਨੂੰ ਘੱਟ ਨਹੀਂ ਕਰਨਗੇ।
- ਸਾਰੀਆਂ UART ਸੈਟਿੰਗਾਂ ਅਤੇ I/O ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ API ਤੋਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਮੁੱਲ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਪ੍ਰਬੰਧਨ ਸਹੂਲਤ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ ਅਤੇ ਗਲਤ ਜਾਂ ਗੁੰਮ ਸੈਟਿੰਗਾਂ ਦੀ ਸੰਭਾਵਨਾ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ।
ਵਰਣਨ ਸੈੱਟ ਕਰਨਾ
ਇਹ ਭਾਗ ht32_board_config.h ਅਤੇ uart_module.h ਵਿੱਚ ਪੈਰਾਮੀਟਰ ਸੈਟਿੰਗਾਂ ਨੂੰ ਪੇਸ਼ ਕਰੇਗਾ। files.
- ht32_board_config.h: ਇਹ file ਦੀ ਵਰਤੋਂ ਪਿੰਨ ਪਰਿਭਾਸ਼ਾਵਾਂ ਅਤੇ ਵਿਕਾਸ ਬੋਰਡ ਦੀਆਂ ਸੰਬੰਧਿਤ ਸੈਟਿੰਗਾਂ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਿਸ ਵਿੱਚ ਸਟਾਰਟਰ ਕਿੱਟ (SK), ਅਨੁਸਾਰੀ TX/RX ਪਿੰਨ ਟਿਕਾਣਿਆਂ ਅਤੇ TX/RX ਬਫ਼ਰ ਆਕਾਰ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾਂਦਾ UART IP ਚੈਨਲ (UART0, UART1, USART0…) ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ। ਚਿੱਤਰ 10 HT32F52352 ਸਟਾਰਟਰ ਕਿੱਟ ਦੀ ਸੈਟਿੰਗ ਸਮੱਗਰੀ ਨੂੰ ਦਿਖਾਉਂਦਾ ਹੈ। ਵਿਕਾਸ ਦੇ ਕਾਰਜਾਤਮਕ ਏਕੀਕਰਣ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, ਉਪਭੋਗਤਾ ਪਿੰਨ ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਵਰਤੀ ਗਈ ਡਿਵਾਈਸ ਦੀ ਡੇਟਾਸ਼ੀਟ ਦੇ "ਪਿਨ ਅਸਾਈਨਮੈਂਟ" ਭਾਗ ਦਾ ਹਵਾਲਾ ਦੇ ਸਕਦੇ ਹਨ। ਸੈਟਿੰਗ ਸੋਧ ਬਾਰੇ ਹੋਰ ਵੇਰਵਿਆਂ ਦਾ ਵਰਣਨ "ਸੈਟਿੰਗ ਸੋਧ ਅਤੇ FAQs" ਭਾਗ ਵਿੱਚ ਕੀਤਾ ਜਾਵੇਗਾ।
ਚਿੱਤਰ 10. ht32_board_config.h ਸੈਟਿੰਗਾਂ (HT32F52352)
- uart_module.h: ਇਹ API ਹੈਡਰ ਹੈ file ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸੰਬੰਧਿਤ ਡਿਫਾਲਟ ਸੈਟਿੰਗਾਂ, ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਾਵਾਂ ਆਦਿ ਸ਼ਾਮਲ ਹਨ। ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 11 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਡਿਫਾਲਟ ਸੈਟਿੰਗ ਸਮੱਗਰੀ ਨੂੰ ਬਾਹਰੀ ਸੰਰਚਨਾਵਾਂ ਦੁਆਰਾ ਓਵਰਰਾਈਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ht32_board_config.h ਵਿੱਚ ਸੈਟਿੰਗਾਂ। file.
ਚਿੱਤਰ 11. uart_module.h ਵਿੱਚ ਡਿਫਾਲਟ ਸੈਟਿੰਗਾਂ
API ਵਰਣਨ
- ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਡੇਟਾ ਕਿਸਮ ਦਾ ਵੇਰਵਾ।
- USART_InitTypeDef
ਇਹ UART ਬੁਨਿਆਦੀ ਸੰਰਚਨਾ ਢਾਂਚਾ ਹੈ ਜੋ ਕਿ BaudRate, WordLength, StopBits, ਪੈਰੀਟੀ ਅਤੇ ਮੋਡ ਸੰਰਚਨਾਵਾਂ ਨਾਲ ਬਣਿਆ ਹੈ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।ਵੇਰੀਏਬਲ ਨਾਮ ਟਾਈਪ ਕਰੋ ਵਰਣਨ USART_BaudRate u32 UART ਸੰਚਾਰ ਬੌਡ ਦਰ USART_WordLength u16 UART ਸੰਚਾਰ ਸ਼ਬਦ ਦੀ ਲੰਬਾਈ: 7, 8 ਜਾਂ 9 ਬਿੱਟ USART_StopBits u16 UART ਸੰਚਾਰ ਸਟਾਪ ਬਿੱਟ ਲੰਬਾਈ: 1 ਜਾਂ 2 ਬਿੱਟ USART_Parity u16 UART ਸੰਚਾਰ ਸਮਾਨਤਾ: ਸਮ, ਅਜੀਬ, ਨਿਸ਼ਾਨ, ਸਪੇਸ ਜਾਂ ਕੋਈ ਸਮਾਨਤਾ ਨਹੀਂ USART_Mode u16 UART ਸੰਚਾਰ ਮੋਡ; API ਸਿਰਫ਼ ਸਧਾਰਨ ਮੋਡ ਦਾ ਸਮਰਥਨ ਕਰਦੇ ਹਨ
- USART_InitTypeDef
- API ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਮੁੱਖ ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ UART ਬੁਨਿਆਦੀ ਸੰਰਚਨਾ ਨੂੰ ਪੂਰਾ ਕਰੋ। ਇਸ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਲਈ UART ਮੂਲ ਸੰਰਚਨਾ ਚਿੱਤਰ 12 ਵਿੱਚ ਦਿਖਾਈ ਗਈ ਹੈ। ਇੱਥੇ ਬੌਡ ਦਰ 115200bps ਹੈ, ਸ਼ਬਦ ਦੀ ਲੰਬਾਈ 8-ਬਿੱਟ ਹੈ, ਸਟਾਪ ਬਿਟ ਦੀ ਲੰਬਾਈ 1-ਬਿੱਟ ਹੈ, ਅਤੇ ਕੋਈ ਸਮਾਨਤਾ ਨਹੀਂ ਹੈ।
ਚਿੱਤਰ 12. UART ਮੂਲ ਸੰਰਚਨਾ
- ਚਿੱਤਰ 13 uart_module.h ਵਿੱਚ ਘੋਸ਼ਿਤ API ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ file. ਹੇਠਾਂ ਦਿੱਤੀ ਟੇਬਲ API ਫੰਕਸ਼ਨਾਂ ਦੀ ਫੰਕਸ਼ਨ, ਇਨਪੁਟ ਪੈਰਾਮੀਟਰ ਅਤੇ ਵਰਤੋਂ ਦੀ ਵਿਆਖਿਆ ਕਰਦੀ ਹੈ।
ਚਿੱਤਰ 13. uart_module.h ਵਿੱਚ API ਫੰਕਸ਼ਨ ਘੋਸ਼ਣਾਵਾਂ
ਨਾਮ | void UARTM_Init(u32 CH, USART_InitTypeDef *pUART_Init, u32 uRxTimeOutValue) | |
ਫੰਕਸ਼ਨ | UART ਮੋਡੀਊਲ ਸ਼ੁਰੂਆਤੀ | |
ਇੰਪੁੱਟ | CH | UART ਚੈਨਲ |
pUART_Init | UART ਬੁਨਿਆਦੀ ਸੰਰਚਨਾ ਬਣਤਰ ਪੁਆਇੰਟਰ | |
uRxTimeOutValue | UART RX FIFO ਟਾਈਮ-ਆਊਟ ਮੁੱਲ। ਜਦੋਂ RX FIFO ਨਵਾਂ ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਤਾਂ ਕਾਊਂਟਰ ਰੀਸੈਟ ਅਤੇ ਰੀਸਟਾਰਟ ਹੋ ਜਾਵੇਗਾ। ਇੱਕ ਵਾਰ ਜਦੋਂ ਕਾਊਂਟਰ ਪ੍ਰੀ-ਸੈੱਟ ਟਾਈਮ-ਆਊਟ ਮੁੱਲ 'ਤੇ ਪਹੁੰਚ ਜਾਂਦਾ ਹੈ ਅਤੇ ਸੰਬੰਧਿਤ ਟਾਈਮ-ਆਊਟ ਇੰਟਰੱਪਟ ਨੂੰ ਸਮਰੱਥ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇੱਕ ਟਾਈਮ-ਆਊਟ ਇੰਟਰੱਪਟ ਤਿਆਰ ਕੀਤਾ ਜਾਵੇਗਾ। | |
ਵਰਤੋਂ | UARTM_Init(UARTM_CH0, &USART_InitStructure, 40);//UART ਮੂਲ ਸੰਰਚਨਾ ਨੂੰ ਲਾਗੂ ਕਰੋ//USART_InitStructure ਸੰਰਚਨਾ ਲਈ ਚਿੱਤਰ 12 ਵੇਖੋ |
ਨਾਮ | u32 UARTM_WriteByte(u32 CH, u8 uData) | |
ਫੰਕਸ਼ਨ | UART ਮੋਡੀਊਲ ਰਾਈਟ ਬਾਈਟ ਆਪਰੇਸ਼ਨ (TX) | |
ਇੰਪੁੱਟ | CH | UART ਚੈਨਲ |
uData | ਲਿਖਣ ਲਈ ਡੇਟਾ | |
ਆਉਟਪੁੱਟ | ਸਫਲਤਾ | ਸਫਲ |
ਗਲਤੀ | ਅਸਫਲ ਰਿਹਾ | |
ਵਰਤੋਂ | UARTM_WriteByte(UARTM_CH0, 'A'); //UART 1 ਬਾਈਟ ਲਿਖਦਾ ਹੈ - 'A' |
ਨਾਮ | u32 UARTM_Write(u32 CH, u8 *pBuffer, u32 uLength) | |
ਫੰਕਸ਼ਨ | UART ਮੋਡੀਊਲ ਰਾਈਟ ਆਪਰੇਸ਼ਨ (TX) | |
ਇੰਪੁੱਟ | CH | UART ਚੈਨਲ |
pBuffer | ਬਫਰ ਪੁਆਇੰਟਰ | |
uਲੰਬਾਈ | ਲਿਖੇ ਜਾਣ ਵਾਲੇ ਡੇਟਾ ਦੀ ਲੰਬਾਈ | |
ਆਉਟਪੁੱਟ | ਸਫਲਤਾ | ਸਫਲ |
ਗਲਤੀ | ਅਸਫਲ ਰਿਹਾ | |
ਵਰਤੋਂ | u8 ਟੈਸਟ[] = “ਇਹ ਟੈਸਟ ਹੈ!\r\n”; UARTM_Write(UARTM_CH0, ਟੈਸਟ, ਆਕਾਰ ਦਾ (ਟੈਸਟ) -1); //UART pBuffer ਡੇਟਾ ਲਿਖਦਾ ਹੈ |
ਨਾਮ | u32 UARTM_ReadByte(u32 CH, u8 *pData) | |
ਫੰਕਸ਼ਨ | UART ਮੋਡੀਊਲ ਰੀਡ ਬਾਈਟ ਆਪਰੇਸ਼ਨ (RX) | |
ਇੰਪੁੱਟ | CH | UART ਚੈਨਲ |
pData | ਪੜ੍ਹਿਆ ਡਾਟਾ ਰੱਖਣ ਲਈ ਪਤਾ | |
ਆਉਟਪੁੱਟ | ਸਫਲਤਾ | ਸਫਲ |
ਗਲਤੀ | ਅਸਫਲ (ਕੋਈ ਡਾਟਾ ਨਹੀਂ) | |
ਵਰਤੋਂ | u8 ਟੈਂਪਡਾਟਾ; ਜੇਕਰ (UARTM_ReadByte(UARTM_CH0, &TempData) == SUCCESS){UARTM_WriteByte(UARTM_CH0, TempData);}//ਜੇ UARTM_ReadByte() SUCCESS ਦਿੰਦਾ ਹੈ ਤਾਂ UART ਇਹ ਡਾਟਾ ਬਾਈਟ ਲਿਖਦਾ ਹੈ |
ਨਾਮ | u32 UARTM_Read(u32 CH, u8 *pBuffer, u32 uLength) | |
ਫੰਕਸ਼ਨ | UART ਮੋਡੀਊਲ ਰੀਡ ਓਪਰੇਸ਼ਨ (RX) | |
ਇੰਪੁੱਟ | CH | UART ਚੈਨਲ |
pBuffer | ਬਫਰ ਪੁਆਇੰਟਰ | |
uਲੰਬਾਈ | ਪੜ੍ਹੇ ਜਾਣ ਵਾਲੇ ਡੇਟਾ ਦੀ ਲੰਬਾਈ | |
ਆਉਟਪੁੱਟ | ਗਿਣਤੀ ਪੜ੍ਹੋ | ਡੇਟਾ ਦੀ ਲੰਬਾਈ ਪੜ੍ਹੀ ਗਈ ਹੈ |
ਵਰਤੋਂ | u8 ਟੈਸਟ2[10]; u32 ਲੈਨ; Len = UARTM_Read(UARTM_CH0, Test2, 5);if (Len > 0){UARTM_Write(UARTM_CH0, Test2, Len);}//UARTM_Read() ਡੇਟਾ ਦੇ 5 ਬਾਈਟ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਡੇਟਾ ਨੂੰ Test2 ਵਿੱਚ ਸਟੋਰ ਕਰਦਾ ਹੈ, ਅਤੇ ਰੀਡ ਬਾਈਟ ਗਿਣਤੀ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ Len//Test2 ਤੋਂ ਪ੍ਰਾਪਤ ਡੇਟਾ ਨੂੰ ਲਿਖਣ ਲਈ |
ਨਾਮ | u32 UARTM_GetReadBufferLength(u32 CH) | |
ਫੰਕਸ਼ਨ | ਰੀਡ ਬਫਰ ਲੰਬਾਈ (RX) ਪ੍ਰਾਪਤ ਕਰੋ | |
ਇੰਪੁੱਟ | CH | UART ਚੈਨਲ |
ਆਉਟਪੁੱਟ | uਲੰਬਾਈ | ਬਫਰ ਦੀ ਲੰਬਾਈ ਪੜ੍ਹੋ |
ਵਰਤੋਂ | UARTM_Init(UARTM_CH0, &USART_InitStructure, 40); //UART ਮੋਡੀਊਲ ਸ਼ੁਰੂਆਤੀ ਜਦਕਿ (UARTM_GetReadBufferLength(UARTM_CH0) < 5);//ਉਡੀਕ ਕਰੋ ਜਦੋਂ ਤੱਕ UARTM_ReadBuffer ਨੂੰ 5 ਬਾਈਟ ਡਾਟਾ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੁੰਦਾ |
ਨਾਮ | u32 UARTM_GetWriteBufferLength(u32 CH) | |
ਫੰਕਸ਼ਨ | ਰਾਈਟ ਬਫਰ ਲੰਬਾਈ (TX) ਪ੍ਰਾਪਤ ਕਰੋ | |
ਇੰਪੁੱਟ | CH | UART ਚੈਨਲ |
ਆਉਟਪੁੱਟ | uਲੰਬਾਈ | ਬਫਰ ਲੰਬਾਈ ਲਿਖੋ |
ਨਾਮ | u8 UARTM_IsTxFinished(u32 CH) | |
ਫੰਕਸ਼ਨ | TX ਸਥਿਤੀ ਪ੍ਰਾਪਤ ਕਰੋ | |
ਇੰਪੁੱਟ | CH | UART ਚੈਨਲ |
ਆਉਟਪੁੱਟ | ਸੱਚ ਹੈ | TX ਸਥਿਤੀ: ਸਮਾਪਤ |
ਗਲਤ | TX ਸਥਿਤੀ: ਪੂਰਾ ਨਹੀਂ ਹੋਇਆ | |
ਵਰਤੋਂ | UARTM_WriteByte(UARTM_CH0, 'O'); #if 1 // “uart_module.c” SVN >= 525 ਲੋੜੀਂਦਾ ਹੈ (UARTM_IsTxFinished(UARTM_CH0) == FALSE) #elsewhile (1) #endif //ਇਸ API ਦੀ ਵਰਤੋਂ TX ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਉੱਪਰ ਦਿਖਾਇਆ ਗਿਆ ਹੈ; UARTM_WriteByte() API ਦੇ ਖਤਮ ਹੋਣ ਤੱਕ ਉਡੀਕ ਕਰੋ, ਭਾਵ, TX ਸਥਿਤੀ ਸਹੀ ਹੈ, ਅਤੇ ਫਿਰ ਅਗਲੀਆਂ ਕਾਰਵਾਈਆਂ ਨੂੰ ਜਾਰੀ ਰੱਖੋ।//ਇੱਕ ਪਾਬੰਦੀ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ ਹੈ ਕਿਉਂਕਿ ਇਹ ਫੰਕਸ਼ਨ ਉਦੋਂ ਤੱਕ ਨਹੀਂ ਜੋੜਿਆ ਗਿਆ ਹੈ ਜਦੋਂ ਤੱਕ uart_module.c ਵਿੱਚ SVN ਸੰਸਕਰਣ ਨੰਬਰ 525 ਨਹੀਂ ਹੈ। |
ਨਾਮ | ਬੇਕਾਰ UARTM_DiscardReadBuffer(u32 CH) | |
ਫੰਕਸ਼ਨ | ਰੀਡ ਬਫਰ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਰੱਦ ਕਰੋ | |
ਇੰਪੁੱਟ | CH | UART ਚੈਨਲ |
API ਵਰਤੋਂ ਸਾਬਕਾamples
ਇਹ ਭਾਗ API ਲਿਖਣ ਅਤੇ ਪੜ੍ਹਣ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਕਰੇਗਾampਸ਼ੁਰੂਆਤੀ ਪ੍ਰਕਿਰਿਆ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ "Module_UART" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਦੇ les ਅਤੇ "UART_Module_Example" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਪ੍ਰਕਿਰਿਆ. API ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ API ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ file ਮੁੱਖ ਪ੍ਰੋਗਰਾਮ ਸਰੋਤ ਕੋਡ ਵਿੱਚ file (# "midleware/uart_module.h" ਸ਼ਾਮਲ ਕਰੋ)।
ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 14 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਸ਼ੁਰੂਆਤੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਵੇਲੇ, ਪਹਿਲਾਂ UART ਮੂਲ ਸੰਰਚਨਾ ਢਾਂਚੇ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ। ਫਿਰ BaudRate, WordLength, StopBits, ਪੈਰਿਟੀ ਅਤੇ ਮੋਡ ਸਮੇਤ UART ਬੁਨਿਆਦੀ ਸੰਰਚਨਾ ਢਾਂਚੇ ਦੇ ਮੈਂਬਰਾਂ ਨੂੰ ਸੰਰਚਿਤ ਕਰੋ। ਅੰਤ ਵਿੱਚ, API ਸ਼ੁਰੂਆਤੀ ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰੋ, ਜਿਸਦਾ ਸੰਪੂਰਨਤਾ ਸ਼ੁਰੂਆਤੀ ਪ੍ਰਕਿਰਿਆ ਦੇ ਅੰਤ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ। ਇਸ ਤੋਂ ਬਾਅਦ ਯੂਜ਼ਰ ਪ੍ਰੀ-ਸੈੱਟ UART ਬੇਸਿਕ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦੇ ਆਧਾਰ 'ਤੇ ਲਿਖਣ ਅਤੇ ਪੜ੍ਹਣ ਦੀਆਂ ਕਾਰਵਾਈਆਂ ਨੂੰ ਜਾਰੀ ਰੱਖ ਸਕਦੇ ਹਨ।
ਚਿੱਤਰ 14. ਸ਼ੁਰੂਆਤੀ ਫਲੋਚਾਰਟ
"UART_Module_Example” ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਲੂਪਬੈਕ ਢੰਗ ਨਾਲ API ਰੀਡ ਅਤੇ ਰਾਈਟ ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਇਸਦੇ ਲਈ ਫਲੋਚਾਰਟ ਚਿੱਤਰ 15 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਵਰਤੇ ਗਏ API ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ UARTM_WriteByte(), UARTM_Write(), UARTM_ReadByte(), UARTM_Read() ਅਤੇ UARTM_GetReadBufferLength()। ਉਹਨਾਂ ਦਾ ਵੇਰਵਾ “API ਵਰਣਨ” ਭਾਗ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਹੈ।
ਚਿੱਤਰ 15. ਲਿਖਣ ਅਤੇ ਪੜ੍ਹਣ ਦਾ ਫਲੋਚਾਰਟ ਐਕਸamples
“Module_UART” ਫੋਲਡਰ ਦੇ ਅਧੀਨ ਇੱਕ ਹੋਰ “UART_Bridge” ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਹੈ ਜਿਸਦਾ ਸੰਬੰਧਿਤ ਹੈ file ਵਰਣਨ ਨੂੰ "ਡਾਇਰੈਕਟਰੀ ਸਟ੍ਰਕਚਰ" ਭਾਗ ਵਿੱਚ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਹੈ। "UART_Bridge" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਦੋ UART ਚੈਨਲਾਂ, UART CH0 ਅਤੇ UART CH1 ਨੂੰ ਸਰਗਰਮ ਕਰਦਾ ਹੈ, ਅਤੇ ਫਿਰ COMMAND ਢਾਂਚੇ, gCMD1 ਅਤੇ gCMD2 ਦੁਆਰਾ ਦੋ UART ਡਿਵਾਈਸਾਂ ਵਿਚਕਾਰ ਸੰਚਾਰ ਪ੍ਰੋਟੋਕੋਲ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਦਾ ਹੈ। ਇਹਨਾਂ ਨੂੰ uart_bridge.c ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। UARTBridge_CMD1TypeDef gCMD1:
ਵੇਰੀਏਬਲ ਨਾਮ | ਟਾਈਪ ਕਰੋ | ਵਰਣਨ |
uHeader | u8 | ਸਿਰਲੇਖ |
uCmd | u8 | ਹੁਕਮ |
uData[3] | u8 | ਡਾਟਾ |
UARTBridge_CMD2TypeDef gCMD2:
ਵੇਰੀਏਬਲ ਨਾਮ | ਟਾਈਪ ਕਰੋ | ਵਰਣਨ |
uHeader | u8 | ਸਿਰਲੇਖ |
uCmdA | u8 | ਕਮਾਂਡ ਏ |
uCmdB | u8 | ਕਮਾਂਡ ਬੀ |
uData[3] | u8 | ਡਾਟਾ |
"UART_Bridge" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ, ਇੱਕ ਕਮਾਂਡ ਪੈਕੇਟ ਵਜੋਂ ਡੇਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ gCMD1 ਦੀ ਵਰਤੋਂ ਕਰੋ ਅਤੇ ਫਿਰ ਇਸਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰੋ। ਫਿਰ ਅਨੁਕੂਲਿਤ ਸੰਚਾਰ ਪ੍ਰੋਟੋਕੋਲ ਦੇ ਅਨੁਸਾਰ, gCMD2 ਨੂੰ ਇੱਕ ਜਵਾਬ ਪੈਕੇਟ ਦੇ ਤੌਰ ਤੇ ਸੈਟ ਕਰੋ ਅਤੇ ਇਸਨੂੰ ਪ੍ਰਸਾਰਿਤ ਕਰੋ। ਹੇਠ ਦਿੱਤੀ ਇੱਕ ਸਾਬਕਾ ਹੈampਇੱਕ ਕਮਾਂਡ ਪੈਕੇਟ gCMD1) ਅਤੇ ਇੱਕ ਜਵਾਬ ਪੈਕੇਟ (gCMD2) ਦਾ le. ਕਮਾਂਡ ਪੈਕੇਟ (UARTBridge_CMD1TypeDef gCMD1):
ਬਾਈਟ 0 | ਬਾਈਟ 1 | ਬਾਈਟ 2 ~ ਬਾਈਟ 4 |
uHeader | uCmd | uData [3] |
"ਏ" | “1” | "x, y, z" |
ਜਵਾਬ ਪੈਕੇਟ (UARTBridge_CMD2TypeDef gCMD2):
ਬਾਈਟ 0 | ਬਾਈਟ 1 | ਬਾਈਟ 2 | ਬਾਈਟ 3 ~ ਬਾਈਟ 5 |
uHeader | uCmdA | uCmdB | uData [3] |
"ਬੀ" | "a" | “1” | "x, y, z" |
ਸਰੋਤ ਕਿੱਤਾ
HT32F52352 ਨੂੰ ਸਾਬਕਾ ਵਜੋਂ ਲੈਣਾampਲੇ, UART ਮੋਡੀਊਲ ਦੁਆਰਾ ਕਬਜ਼ੇ ਵਾਲੇ ਸਰੋਤ ਹੇਠਾਂ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
HT32F52352 | |
ROM ਦਾ ਆਕਾਰ | 946 ਬਾਈਟ |
RAM ਦਾ ਆਕਾਰ | 40*1 + 256*2 ਬਾਈਟਸ |
ਨੋਟ:
- ਇੱਕ ਸਿੰਗਲ ਚੈਨਲ ਲਈ ਫਲੈਗ ਅਤੇ ਸਥਿਤੀ ਸਮੇਤ ਗਲੋਬਲ ਵੇਰੀਏਬਲ RAM ਦੇ 40 ਬਾਈਟਸ ਨੂੰ ਰੱਖਦੇ ਹਨ।
- ਇਹ ਅਜਿਹੀ ਸਥਿਤੀ ਲਈ ਹੈ ਜਿੱਥੇ ਇੱਕ ਸਿੰਗਲ ਚੈਨਲ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ TX/RX ਬਫਰ ਦਾ ਆਕਾਰ 128/128 ਬਾਈਟਸ ਹੈ। ਬਫਰ ਦਾ ਆਕਾਰ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਜ਼ਰੂਰਤਾਂ ਦੇ ਅਨੁਸਾਰ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ.
ਸਾਰਣੀ 4. ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਸਰੋਤ ਕਿੱਤਾ
- ਸੰਕਲਨ ਵਾਤਾਵਰਣ: MDK-Arm V5.36, ARMCC V5.06 ਅੱਪਡੇਟ 7 (ਬਿਲਡ 960)
- ਅਨੁਕੂਲਿਤ ਵਿਕਲਪ: ਪੱਧਰ 2 (-O2)
ਵਰਤਣ ਲਈ ਨਿਰਦੇਸ਼
ਇਹ ਅਧਿਆਇ “Module_UART” ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਲਈ ਵਾਤਾਵਰਣ ਦੀ ਤਿਆਰੀ, ਅਤੇ ਨਾਲ ਹੀ ਸੰਕਲਨ ਅਤੇ ਟੈਸਟ ਦੇ ਕਦਮਾਂ ਨੂੰ ਪੇਸ਼ ਕਰੇਗਾ।
ਵਾਤਾਵਰਣ ਦੀ ਤਿਆਰੀ
“Module_UART” ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਲਈ ਲੋੜੀਂਦੇ ਹਾਰਡਵੇਅਰ ਅਤੇ ਸੌਫਟਵੇਅਰ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਹਨ।
ਸਾਰਣੀ 5. ਹਾਰਡਵੇਅਰ/ਸਾਫਟਵੇਅਰ ਵਾਤਾਵਰਣ ਦੀ ਤਿਆਰੀ
ਹਾਰਡਵੇਅਰ/ਸਾਫਟਵੇਅਰ | ਗਿਣਤੀ | ਨੋਟ ਕਰੋ |
ਸਟਾਰਟਰ ਕਿੱਟ | 1 | ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ HT32F52352 ਸਟਾਰਟਰ ਕਿੱਟ ਨੂੰ ਸਾਬਕਾ ਵਜੋਂ ਵਰਤਦਾ ਹੈample |
USB ਕੇਬਲ | 1 | ਮਾਈਕ੍ਰੋ USB, PC ਨਾਲ ਜੁੜਿਆ ਹੋਇਆ ਹੈ |
ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ | — | ਡਾਊਨਲੋਡ ਮਾਰਗ, file ਅਤੇ ਡਾਇਰੈਕਟਰੀ ਸੰਰਚਨਾ ਨੂੰ “ਸਰੋਤ ਡਾਊਨਲੋਡ ਅਤੇ ਤਿਆਰੀ” ਭਾਗ ਵਿੱਚ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਹੈ। ਮਾਰਗ: “\\application\Module_UART\UART_Module_Exampਲੇ " |
ਤੇਰੀ ਮਿਆਦ | — | "ਟਰਮੀਨਲ ਸਾਫਟਵੇਅਰ" ਭਾਗ ਵੇਖੋ |
ਕੀਲ IDE | — | Keil uVision V5.xx |
ਪਹਿਲਾਂ, UART ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਜਾਣ-ਪਛਾਣ ਲਈ ਈ-ਲਿੰਕ32 ਲਾਈਟ ਦੇ ਵਰਚੁਅਲ COM ਪੋਰਟ (VCP) ਫੰਕਸ਼ਨ ਦੇ ਨਾਲ HT52352F32 ਸਟਾਰਟਰ ਕਿੱਟ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਸ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਹੇਠ ਲਿਖੀਆਂ ਵਾਤਾਵਰਨ ਤਿਆਰੀ ਦੀ ਲੋੜ ਹੈ:
- ਬੋਰਡ 'ਤੇ ਦੋ USB ਇੰਟਰਫੇਸ ਹਨ। PC ਅਤੇ ਬੋਰਡ 'ਤੇ eLink32 Lite ਇੰਟਰਫੇਸ ਨੂੰ ਜੋੜਨ ਲਈ USB ਕੇਬਲ ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 16-(a) ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
- ਜਿਵੇਂ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ ਈ-ਲਿੰਕ32 ਲਾਈਟ ਵਰਚੁਅਲ COM ਪੋਰਟ (VCP) ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਯਕੀਨੀ ਬਣਾਓ ਕਿ UART ਜੰਪਰ-J2*2 ਦੇ PAx*1 ਅਤੇ DAP_Tx ਨੂੰ ਜੰਪਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਛੋਟਾ ਕੀਤਾ ਗਿਆ ਹੈ। J2 ਸਥਾਨ ਚਿੱਤਰ 16-(b) ਦੁਆਰਾ ਦਰਸਾਇਆ ਗਿਆ ਹੈ।
ਨੋਟ ਕਰੋ
- ਸਟਾਰਟਰ ਕਿੱਟ 'ਤੇ J2 ਦੇ ਦੋ ਵਿਕਲਪ ਹਨ, PAx ਅਤੇ DAP_Tx ਸ਼ਾਰਟਡ ਜਾਂ PAx ਅਤੇ RS232_Tx ਸ਼ਾਰਟਡ। ਵਿਸਤ੍ਰਿਤ ਸੈਟਿੰਗ ਫੰਕਸ਼ਨਾਂ ਲਈ ਸਟਾਰਟਰ ਕਿੱਟ ਉਪਭੋਗਤਾ ਮੈਨੂਅਲ ਵੇਖੋ।
- ਵੱਖ-ਵੱਖ ਸਟਾਰਟਰ ਕਿੱਟਾਂ 'ਤੇ MCU UART RX ਪਿੰਨ ਦੀ ਸਥਿਤੀ ਵੱਖਰੀ ਹੈ। ਇਹ ਸਾਬਕਾample RX ਪਿੰਨ ਨੂੰ ਦਰਸਾਉਣ ਲਈ PAx ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
ਚਿੱਤਰ 16. HT32 ਸਟਾਰਟਰ ਕਿੱਟ ਬਲਾਕ ਡਾਇਗ੍ਰਾਮ
ਹੁਣ UART ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਜਾਣ-ਪਛਾਣ ਲਈ e-Link32 Pro ਦੇ ਵਰਚੁਅਲ COM ਪੋਰਟ (VCP) ਫੰਕਸ਼ਨ ਦੇ ਨਾਲ ਯੂਜ਼ਰ ਟਾਰਗੇਟ ਬੋਰਡ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਸ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਹੇਠ ਲਿਖੀਆਂ ਵਾਤਾਵਰਨ ਤਿਆਰੀ ਦੀ ਲੋੜ ਹੈ:
- ਈ-ਲਿੰਕ 32 ਪ੍ਰੋ ਦਾ ਇੱਕ ਪਾਸਾ ਇੱਕ ਮਿੰਨੀ USB ਕੇਬਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ PC ਨਾਲ ਜੁੜਿਆ ਹੋਇਆ ਹੈ ਅਤੇ ਦੂਜਾ ਪਾਸਾ ਇਸਦੀ 10-ਬਿਟ ਸਲੇਟੀ ਕੇਬਲ ਦੁਆਰਾ ਉਪਭੋਗਤਾ ਟਾਰਗਿਟ ਬੋਰਡ ਨਾਲ ਜੁੜਿਆ ਹੋਇਆ ਹੈ। ਕੇਬਲ ਅਤੇ ਟਾਰਗੇਟ ਬੋਰਡ ਦੇ SWD ਇੰਟਰਫੇਸ ਵਿਚਕਾਰ ਕਨੈਕਸ਼ਨ ਨੂੰ ਡੂਪੋਂਟ ਲਾਈਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 17-(a) ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
- ਈ-ਲਿੰਕ32 ਪ੍ਰੋ ਦੇ ਸੀਰੀਅਲ ਸੰਚਾਰ ਪਿੰਨ ਪਿੰਨ#7 VCOM_RXD ਅਤੇ ਪਿਨ#8- VCOM_TXD ਹਨ। ਇਹ ਯੂਜ਼ਰ ਟਾਰਗਿਟ ਬੋਰਡ ਦੇ TX ਅਤੇ RX ਪਿੰਨ ਨਾਲ ਜੁੜੇ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 17-(b) ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
ਚਿੱਤਰ 17. e-Link32 Pro + ਉਪਭੋਗਤਾ ਟਾਰਗੇਟ ਬੋਰਡ ਬਲਾਕ ਡਾਇਗ੍ਰਾਮ
ਸੰਕਲਨ ਅਤੇ ਟੈਸਟ
ਇਹ ਭਾਗ “ਐਪਲੀਕੇਸ਼ਨ\Module_UART\UART_Module_Example" ਇੱਕ ਸਾਬਕਾ ਦੇ ਤੌਰ ਤੇampਸੰਕਲਨ ਅਤੇ ਟੈਸਟ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਪੇਸ਼ ਕਰਨ ਲਈ। ਇਸ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਪਿਛਲੇ ਭਾਗ ਵਿੱਚ ਦੱਸੀਆਂ ਗਈਆਂ ਸਾਰੀਆਂ ਤਿਆਰੀਆਂ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਟੇਰਾ ਟਰਮ ਟਰਮੀਨਲ ਸੌਫਟਵੇਅਰ ਡਾਊਨਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ।
ਵਿਸਤ੍ਰਿਤ ਕਾਰਵਾਈ ਦੇ ਕਦਮਾਂ ਦਾ ਸੰਖੇਪ ਹੇਠਾਂ ਦਿੱਤਾ ਗਿਆ ਹੈ।
ਕਦਮ 1. ਪਾਵਰ-ਆਨ ਟੈਸਟ
ਪਿਛਲੇ ਭਾਗ ਵਿੱਚ ਦੱਸੇ ਅਨੁਸਾਰ ਹਾਰਡਵੇਅਰ ਵਾਤਾਵਰਨ ਸੈਟ ਅਪ ਕਰੋ। ਪਾਵਰ-ਆਨ ਤੋਂ ਬਾਅਦ, ਸਟਾਰਟਰ ਕਿੱਟ ਦੇ ਹੇਠਲੇ ਖੱਬੇ ਪਾਸੇ D9 ਪਾਵਰ LED ਨੂੰ ਪ੍ਰਕਾਸ਼ਮਾਨ ਕੀਤਾ ਜਾਵੇਗਾ। ਉੱਪਰ ਸੱਜੇ ਪਾਸੇ ਈ-ਲਿੰਕ1 ਲਾਈਟ 'ਤੇ D32 USB LED USB ਗਣਨਾ ਪੂਰੀ ਹੋਣ ਤੋਂ ਬਾਅਦ ਪ੍ਰਕਾਸ਼ਤ ਹੋ ਜਾਵੇਗਾ। ਜੇਕਰ ਲੰਬੇ ਸਮੇਂ ਤੋਂ ਬਾਅਦ D1 ਪ੍ਰਕਾਸ਼ਤ ਨਹੀਂ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ USB ਕੇਬਲ ਸੰਚਾਰ ਕਰਨ ਦੇ ਯੋਗ ਹੈ ਜਾਂ ਨਹੀਂ। ਜੇ ਨਹੀਂ ਤਾਂ ਇਸਨੂੰ ਹਟਾਓ ਅਤੇ ਇਸਨੂੰ ਦੁਬਾਰਾ ਪਾਓ.
ਕਦਮ 2. ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਤਿਆਰ ਕਰੋ
ਐਪਲੀਕੇਸ਼ਨ ਖੋਲ੍ਹੋ\Module_UART\UART_Module_Exampਫੋਲਡਰ ਵਿੱਚ, _CreateProject.bat 'ਤੇ ਕਲਿੱਕ ਕਰੋ file ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਲਈ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 18 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਕਿਉਂਕਿ ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ HT32F52352 ਸਟਾਰਟਰ ਕਿੱਟ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, MDK_ARMv52352 ਫੋਲਡਰ ਦੇ ਹੇਠਾਂ ਸਥਿਤ Keil IDE ਪ੍ਰੋਜੈਕਟ “Project_5.uvprojx” ਨੂੰ ਖੋਲ੍ਹੋ।
ਚਿੱਤਰ 18. ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਲਈ _CreateProject.bat ਚਲਾਓ
ਕਦਮ 3. ਕੰਪਾਇਲ ਅਤੇ ਪ੍ਰੋਗਰਾਮ
ਪ੍ਰੋਜੈਕਟ ਖੋਲ੍ਹਣ ਤੋਂ ਬਾਅਦ, ਪਹਿਲਾਂ "ਬਿਲਡ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ (ਜਾਂ ਸ਼ਾਰਟਕੱਟ "F7" ਦੀ ਵਰਤੋਂ ਕਰੋ), ਫਿਰ "ਡਾਊਨਲੋਡ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ (ਜਾਂ ਸ਼ਾਰਟਕੱਟ "F8" ਦੀ ਵਰਤੋਂ ਕਰੋ)। ਇਸ ਤੋਂ ਬਾਅਦ, ਬਿਲਡ ਆਉਟਪੁੱਟ ਵਿੰਡੋ ਵਿੱਚ ਬਿਲਡ ਅਤੇ ਡਾਊਨਲੋਡ ਨਤੀਜੇ ਪ੍ਰਦਰਸ਼ਿਤ ਹੋਣਗੇ। ਚਿੱਤਰ 19 ਦੇਖੋ।
ਚਿੱਤਰ 19. ਨਤੀਜੇ ਬਣਾਓ ਅਤੇ ਡਾਊਨਲੋਡ ਕਰੋ
ਕਦਮ 4. ਟੇਰਾ ਟਰਮ ਸੌਫਟਵੇਅਰ ਖੋਲ੍ਹੋ ਅਤੇ ਸੀਰੀਅਲ ਪੋਰਟ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ
ਟੇਰਾ ਟਰਮ ਸੌਫਟਵੇਅਰ ਅਤੇ COM ਪੋਰਟ ਖੋਲ੍ਹੋ। ਇਸ ਗੱਲ ਵੱਲ ਧਿਆਨ ਦਿਓ ਕਿ ਸਟਾਰਟਰ ਕਿੱਟ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਗਿਆ COM ਪੋਰਟ ਨੰਬਰ ਸਹੀ ਹੈ ਜਾਂ ਨਹੀਂ। ਫਿਰ ਕੌਂਫਿਗਰੇਸ਼ਨ ਇੰਟਰਫੇਸ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਲਈ "ਸੈਟਅੱਪ >> ਸੀਰੀਅਲ ਪੋਰਟ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ। "Module_UART" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਦੀ UART ਇੰਟਰਫੇਸ ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ "ਟਰਮੀਨਲ ਸੌਫਟਵੇਅਰ" ਭਾਗ ਵਿੱਚ ਦੱਸਿਆ ਗਿਆ ਹੈ। ਸੈੱਟਅੱਪ ਨਤੀਜਾ ਚਿੱਤਰ 20 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
ਚਿੱਤਰ 20. ਤੇਰਾ ਟਰਮ ਸੀਰੀਅਲ ਪੋਰਟ ਸੈੱਟਅੱਪ ਨਤੀਜਾ
ਕਦਮ 5. ਸਿਸਟਮ ਨੂੰ ਰੀਸੈਟ ਕਰੋ ਅਤੇ ਟੈਸਟ ਕਰੋ
SK ਰੀਸੈੱਟ ਕੁੰਜੀ - B1 ਰੀਸੈਟ ਦਬਾਓ। ਇਸ ਤੋਂ ਬਾਅਦ, "ਏਬੀਸੀ ਇਹ ਟੈਸਟ ਹੈ!" ਸੁਨੇਹਾ ਹੋਵੇਗਾ
ਏਪੀਆਈ ਦੁਆਰਾ ਪ੍ਰਸਾਰਿਤ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਟੇਰਾ ਟਰਮ ਵਿੰਡੋ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤਾ ਜਾਵੇਗਾ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 21 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਰਿਸੀਵ ਫੰਕਸ਼ਨ ਦੇ ਸਬੰਧ ਵਿੱਚ, ਟੈਰਾ ਟਰਮ ਵਿੰਡੋ ਵਿੱਚ ਡੇਟਾ ਦਾਖਲ ਕਰਨ ਵੇਲੇ, ਸੰਬੰਧਿਤ API ਦੀ ਵਰਤੋਂ ਪ੍ਰਾਪਤ ਬਫਰ ਲੰਬਾਈ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਵੇਗੀ। ਜਦੋਂ PC ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਡੇਟਾ 5 ਬਾਈਟਾਂ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ, ਤਾਂ ਪ੍ਰਾਪਤ ਕੀਤੇ 5 ਬਾਈਟ ਡੇਟਾ ਨੂੰ ਕ੍ਰਮਵਾਰ ਭੇਜਿਆ ਜਾਵੇਗਾ। ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 22 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਕ੍ਰਮਵਾਰ ਦਰਜ ਕੀਤਾ ਗਿਆ ਡੇਟਾ “1, 2, 3, 4, 5” ਹੈ, ਜੋ API ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਅਤੇ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਸ ਤੋਂ ਬਾਅਦ, ਪੰਜ ਇਨਪੁਟਸ ਤੋਂ ਬਾਅਦ ਡੇਟਾ “1, 2, 3, 4, 5” ਪ੍ਰਿੰਟ ਕੀਤਾ ਜਾਵੇਗਾ।
ਚਿੱਤਰ 21. "ਮੌਡਿਊਲ_UART" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਫੰਕਸ਼ਨਲ ਟੈਸਟ - ਟ੍ਰਾਂਸਮਿਟ
ਚਿੱਤਰ 22. “Module_UART” ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਫੰਕਸ਼ਨਲ ਟੈਸਟ – ਪ੍ਰਾਪਤ ਕਰੋ
ਟ੍ਰਾਂਸਪਲਾਂਟ ਹਿਦਾਇਤਾਂ
ਇਹ ਭਾਗ ਉਪਭੋਗਤਾ ਦੇ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ API ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਪੇਸ਼ ਕਰੇਗਾ।
ਕਦਮ 1. uart_module.c ਸ਼ਾਮਲ ਕਰੋ file ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ. ਯੂਜ਼ਰ ਫੋਲਡਰ 'ਤੇ ਸੱਜਾ-ਕਲਿੱਕ ਕਰੋ। ਚੁਣੋ "ਮੌਜੂਦਾ ਸ਼ਾਮਲ ਕਰੋ Files ਨੂੰ ਗਰੁੱਪ 'ਯੂਜ਼ਰ'…”, ਫਿਰ uart_module.c ਦੀ ਚੋਣ ਕਰੋ file ਅਤੇ "ਐਡ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 23 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਲਈ "ਡਾਇਰੈਕਟਰੀ ਸਟ੍ਰਕਚਰ" ਭਾਗ ਵੇਖੋ। file ਮਾਰਗ ਦਾ ਵੇਰਵਾ।
ਚਿੱਤਰ 23. uart_module.c ਸ਼ਾਮਲ ਕਰੋ File ਪ੍ਰੋਜੈਕਟ ਨੂੰ
ਕਦਮ 2. ring_buffer.c ਸ਼ਾਮਲ ਕਰੋ file ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ. ਯੂਜ਼ਰ ਫੋਲਡਰ 'ਤੇ ਸੱਜਾ-ਕਲਿੱਕ ਕਰੋ। ਚੁਣੋ "ਮੌਜੂਦਾ ਸ਼ਾਮਲ ਕਰੋ Files ਨੂੰ ਗਰੁੱਪ 'ਯੂਜ਼ਰ'…”, ਫਿਰ ring_buffer.c ਦੀ ਚੋਣ ਕਰੋ file ਅਤੇ "ਐਡ" 'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 24 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।\ ਲਈ "ਡਾਇਰੈਕਟਰੀ ਸਟ੍ਰਕਚਰ" ਭਾਗ ਵੇਖੋ। file ਮਾਰਗ ਦਾ ਵੇਰਵਾ।
ਚਿੱਤਰ 24. ring_buffer.c ਸ਼ਾਮਲ ਕਰੋ File ਪ੍ਰੋਜੈਕਟ ਨੂੰ
ਕਦਮ 3. API ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰੋ file main.c ਦੀ ਸ਼ੁਰੂਆਤ ਵਿੱਚ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 25 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
ਚਿੱਤਰ 25. API ਹੈਡਰ ਸ਼ਾਮਲ ਕਰੋ File ਮੁੱਖ.ਸੀ ਤੋਂ
ਕਦਮ 4. ht32_board_config.h ਦੀ ਵਰਤੋਂ ਕਰਕੇ UART ਸੰਚਾਰ ਲਈ ਲੋੜੀਂਦੀਆਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਲਾਗੂ ਕਰੋ file. ਇਹ "ਸੈਟਿੰਗ ਵਰਣਨ" ਅਤੇ "ਸੈਟਿੰਗ ਸੋਧ ਅਤੇ FAQs" ਭਾਗਾਂ ਵਿੱਚ ਵਿਸਥਾਰ ਵਿੱਚ ਪੇਸ਼ ਕੀਤਾ ਗਿਆ ਹੈ।
ਸੰਸ਼ੋਧਨ ਅਤੇ ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ ਸੈੱਟ ਕਰਨਾ
ਇਹ ਭਾਗ UART ਸੈਟਿੰਗਾਂ ਨੂੰ ਕਿਵੇਂ ਸੋਧਣਾ ਹੈ ਅਤੇ ਵਰਤੋਂ ਦੌਰਾਨ ਸਾਹਮਣੇ ਆਏ ਕੁਝ ਆਮ ਸਵਾਲਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰੇਗਾ।
UART ਪਿੰਨ ਅਸਾਈਨਮੈਂਟ ਬਦਲੋ
- HT32F52352 ਡਾਟਾਸ਼ੀਟ “ਪਿਨ ਅਸਾਈਨਮੈਂਟ” ਚੈਪਟਰ ਦਾ ਹਵਾਲਾ ਦਿੰਦੇ ਹੋਏ, ਵਿਕਲਪਕ ਫੰਕਸ਼ਨ ਮੈਪਿੰਗ ਟੇਬਲ ਦੇਖੋ ਜੋ ਡਿਵਾਈਸ ਕਿਸਮ ਦੇ AFIO ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ। UART ਸੰਬੰਧਿਤ ਪਿੰਨ ਲਈ, "AF6 USART/UART" ਕਾਲਮ ਵੇਖੋ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 26 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
ਚਿੱਤਰ 26. HT32F52352 ਵਿਕਲਪਕ ਫੰਕਸ਼ਨ ਮੈਪਿੰਗ ਟੇਬਲ
- ਇਹ ਕਦਮ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਉਪਰੋਕਤ ਸਾਰਣੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸੰਬੰਧਿਤ UART ਪਿੰਨਾਂ ਨੂੰ ਲੱਭਣ ਲਈ ਮਾਰਗਦਰਸ਼ਨ ਕਰੇਗਾ। HT32F52352 ਸਾਬਕਾample USART1 ਨੂੰ ਡਿਫੌਲਟ ਚੈਨਲ ਵਜੋਂ ਵਰਤਦਾ ਹੈ। ਇੱਥੇ, TX ਅਤੇ RX ਪਿੰਨ USR1_TX ਅਤੇ USR1_RX ਹਨ ਅਤੇ ਕ੍ਰਮਵਾਰ PA4 ਅਤੇ PA5 'ਤੇ ਸਥਿਤ ਹਨ। ਚਿੱਤਰ 27 “ht32_board_config.h” ਵਿੱਚ ਪਿੰਨ ਪੱਤਰ-ਵਿਹਾਰ ਦੇ ਨਾਲ-ਨਾਲ ਪਿੰਨ ਪਰਿਭਾਸ਼ਾਵਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਪਿੰਨ ਅਸਾਈਨਮੈਂਟ ਟੇਬਲ ਵਿੱਚ “ਪੈਕੇਜ” ਦੇ ਖਾਲੀ ਖੇਤਰਾਂ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਇਸ ਪੈਕੇਜ ਵਿੱਚ ਕੋਈ ਵੀ ਸੰਬੰਧਿਤ GPIO ਨਹੀਂ ਹਨ। UART ਪਿੰਨਾਂ ਨੂੰ ਸੋਧਣ ਲਈ, ਨਿਸ਼ਾਨਾ ਪਿੰਨ ਸਥਾਨ ਲੱਭੋ ਅਤੇ "ht32_board_config.h" ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਿੰਨਾਂ ਨੂੰ ਮੁੜ-ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ। file.
ਚਿੱਤਰ 27. ਪਿੰਨ ਪੱਤਰ ਵਿਹਾਰ ਅਤੇ ਸੈਟਿੰਗ ਸੋਧ
ਇੱਕ UART ਚੈਨਲ ਜੋੜੋ
HT32F52352 HTCFG_UARTM_CH1 ਨੂੰ ਸਾਬਕਾ ਵਜੋਂ ਲੈਣਾample, ਇੱਥੇ ਇਹ ਦੱਸਿਆ ਗਿਆ ਹੈ ਕਿ ਇੱਕ ਨਵਾਂ UART ਚੈਨਲ ਕਿਵੇਂ ਜੋੜਨਾ ਹੈ।
ht32_board_config.h ਨੂੰ ਸੋਧੋ file
HT32F52352 ਡੇਟਾਸ਼ੀਟ “ਪਿਨ ਅਸਾਈਨਮੈਂਟ” ਚੈਪਟਰ ਦਾ ਹਵਾਲਾ ਦਿੰਦੇ ਹੋਏ, ਵਿਕਲਪਕ ਫੰਕਸ਼ਨ ਮੈਪਿੰਗ ਟੇਬਲ ਦੇਖੋ ਜੋ ਡਿਵਾਈਸ ਕਿਸਮ ਦੇ AFIO ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ। ਜਿਵੇਂ ਕਿ USART1 ਨੂੰ HTCFG_UARTM_CH0 ਵਜੋਂ ਵਰਤਿਆ ਗਿਆ ਹੈ, ਨਵਾਂ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ HTCFG_UARTM_CH1 USART0 ਨੂੰ ਚੁਣ ਸਕਦਾ ਹੈ। ਇੱਥੇ, TX ਅਤੇ RX ਪਿੰਨ ਕ੍ਰਮਵਾਰ PA2 ਅਤੇ PA3 'ਤੇ ਸਥਿਤ ਹਨ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ 28 ਦੇ ਉੱਪਰਲੇ ਅੱਧ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਅਨੁਸਾਰੀ ਸੋਧਾਂ ht120_board_config.h ਵਿੱਚ ਕੋਡ ਲਾਈਨਾਂ 126~32 ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲਾਗੂ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ, ਜਿਵੇਂ ਕਿ ਚਿੱਤਰ ਵਿੱਚ ਲਾਲ ਬਿੰਦੀਆਂ ਵਾਲੇ ਬਾਕਸ ਦੁਆਰਾ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। 28.
ਚਿੱਤਰ 28. ਇੱਕ UART ਚੈਨਲ ਜੋੜੋ
ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ
Q: ਕੰਪਾਇਲੇਸ਼ਨ ਅਤੇ ਟੈਸਟ ਸੈਕਸ਼ਨ ਦੇ ਪੜਾਅ 5 ਵਿੱਚ, ਟ੍ਰਾਂਸਮਿਟ ਫੰਕਸ਼ਨਲ ਟੈਸਟ ਆਮ ਹੈ। ਇੱਥੇ, "ਏਬੀਸੀ ਇਹ ਟੈਸਟ ਹੈ!" ਸੁਨੇਹਾ ਸਫਲਤਾਪੂਰਵਕ ਪ੍ਰਦਰਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਹਾਲਾਂਕਿ ਰਿਸੀਵ ਫੰਕਸ਼ਨ ਲਈ, ਪੰਜ ਇਨਪੁਟ ਵੈਲਯੂ ਵਾਪਸ ਅਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕਿਉਂ ਨਹੀਂ ਕੀਤੇ ਗਏ ਹਨ?
A: ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਇੱਕ ਜੰਪਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ UART ਜੰਪਰ-J2 ਦੇ MCU UART RX ਅਤੇ DAP_Tx ਪਿੰਨਾਂ ਨੂੰ ਛੋਟਾ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਿਵੇਂ ਕਿ "Module_UART" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ e-Link32 Lite ਦੇ ਵਰਚੁਅਲ COM ਪੋਰਟ (VCP) ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਚਿੱਤਰ 2 ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਜਿਵੇਂ ਕਿ UART ਜੰਪਰ-J29 ਦੇ ਖੱਬੇ ਦੋ ਪਿੰਨਾਂ 'ਤੇ ਸ਼ਾਰਟ-ਸਰਕਟ ਸੈਟਿੰਗ ਲਾਗੂ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ।
ਚਿੱਤਰ 29. UART ਜੰਪਰ-J2 ਸੈਟਿੰਗ
ਸਵਾਲ: ਬਾਅਦ "ਬਿਲਡ" (ਜਾਂ ਸ਼ਾਰਟਕੱਟ "F7") ਨੂੰ ਚਲਾਉਣਾ, ਇੱਕ ਗਲਤੀ ਸੁਨੇਹਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਸੰਸਕਰਣ ਲੋੜੀਂਦੇ ਨਾਲੋਂ ਪੁਰਾਣਾ ਹੈ? ਚਿੱਤਰ 30 ਦੇਖੋ।
A: "Module_UART" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ uart_module.c/h ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ files ਜਿਸ ਵਿੱਚ ਇੱਕ ਖਾਸ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਸੰਸਕਰਣ ਦੀ ਲੋੜ ਹੈ। ਜਦੋਂ ਅਜਿਹਾ ਕੋਈ ਗਲਤੀ ਸੁਨੇਹਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਵਰਤਮਾਨ ਵਿੱਚ ਵਰਤੀ ਗਈ ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਇੱਕ ਪੁਰਾਣਾ ਸੰਸਕਰਣ ਹੈ। ਇਸ ਲਈ "ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ" ਭਾਗ ਵਿੱਚ ਦਿੱਤੇ ਲਿੰਕ ਰਾਹੀਂ ਨਵੀਨਤਮ ਸੰਸਕਰਣ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ।
ਚਿੱਤਰ 30. ਫਰਮਵੇਅਰ ਲਾਇਬ੍ਰੇਰੀ ਸੰਸਕਰਣ ਗਲਤੀ ਸੁਨੇਹਾ
ਸਿੱਟਾ
ਇਸ ਦਸਤਾਵੇਜ਼ ਨੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ "Module_UART" ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਅਤੇ UART ਸੰਚਾਰ ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਬਿਹਤਰ ਸਮਝ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਨ ਲਈ ਇੱਕ ਬੁਨਿਆਦੀ ਜਾਣ-ਪਛਾਣ ਪ੍ਰਦਾਨ ਕੀਤੀ ਹੈ। ਇਸ ਤੋਂ ਬਾਅਦ ਸਰੋਤ ਡਾਊਨਲੋਡ ਅਤੇ ਤਿਆਰੀ ਕੀਤੀ ਗਈ। ਕਾਰਜਾਤਮਕ ਵਰਣਨ ਚੈਪਟਰ ਨੇ ਪੇਸ਼ ਕੀਤਾ file ਡਾਇਰੈਕਟਰੀ ਬਣਤਰ, API ਆਰਕੀਟੈਕਚਰ, API ਵਰਣਨ ਅਤੇ API ਵਰਤੋਂ ਸਾਬਕਾamples. ਵਰਤੋਂ ਲਈ ਹਦਾਇਤਾਂ ਅਧਿਆਇ ਵਿੱਚ “Module_UART” ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਦੀ ਵਾਤਾਵਰਣ ਦੀ ਤਿਆਰੀ, ਸੰਕਲਨ ਅਤੇ ਟੈਸਟਿੰਗ ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਸਨੇ ਕੋਡ ਟ੍ਰਾਂਸਪਲਾਂਟ ਅਤੇ ਸੋਧ ਸੈਟਿੰਗਾਂ ਦੇ ਨਾਲ-ਨਾਲ ਕੁਝ ਆਮ ਸਮੱਸਿਆਵਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਨ ਲਈ ਵੀ ਨਿਰਦੇਸ਼ ਦਿੱਤੇ ਹਨ ਜਿਨ੍ਹਾਂ ਦਾ ਸਾਹਮਣਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਇਹ ਸਭ ਮਿਲਾ ਕੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਇਹ ਸਮਝਣ ਦੀ ਇਜਾਜ਼ਤ ਦੇਵੇਗਾ ਕਿ APIs ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸਮੇਂ ਦੀ ਮਾਤਰਾ ਨੂੰ ਘਟਾਉਣਾ ਹੈ।
ਹਵਾਲਾ ਸਮੱਗਰੀ
ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ, ਹੋਲਟੇਕ ਵੇਖੋ webਸਾਈਟ: www.holtek.com
ਸੰਸਕਰਣ ਅਤੇ ਸੋਧ ਜਾਣਕਾਰੀ
ਮਿਤੀ | ਲੇਖਕ | ਜਾਰੀ ਕਰੋ | ਸੋਧ ਜਾਣਕਾਰੀ |
2022.04.30 | 蔡期育(ਚੀ-ਯੂ ਤਸਾਈ) | V1.00 | ਪਹਿਲਾ ਸੰਸਕਰਣ |
ਬੇਦਾਅਵਾ
ਇਸ 'ਤੇ ਦਿਖਾਈ ਦੇਣ ਵਾਲੀ ਸਾਰੀ ਜਾਣਕਾਰੀ, ਟ੍ਰੇਡਮਾਰਕ, ਲੋਗੋ, ਗ੍ਰਾਫਿਕਸ, ਵੀਡੀਓ, ਆਡੀਓ ਕਲਿੱਪ, ਲਿੰਕ ਅਤੇ ਹੋਰ ਆਈਟਮਾਂ webਸਾਈਟ ('ਜਾਣਕਾਰੀ') ਸਿਰਫ ਸੰਦਰਭ ਲਈ ਹੈ ਅਤੇ ਕਿਸੇ ਵੀ ਸਮੇਂ ਬਿਨਾਂ ਕਿਸੇ ਅਗਾਊਂ ਨੋਟਿਸ ਦੇ ਅਤੇ ਹੋਲਟੇਕ ਸੈਮੀਕੰਡਕਟਰ ਇੰਕ. ਅਤੇ ਇਸ ਨਾਲ ਸੰਬੰਧਿਤ ਕੰਪਨੀਆਂ (ਇਸ ਤੋਂ ਬਾਅਦ 'ਹੋਲਟੇਕ', 'ਕੰਪਨੀ', 'ਸਾਡੇ', 'ਦੇ ਵਿਵੇਕ 'ਤੇ ਬਦਲ ਸਕਦੀ ਹੈ। ਅਸੀਂ' ਜਾਂ 'ਸਾਡੇ')। ਜਦੋਂ ਕਿ ਹੋਲਟੇਕ ਇਸ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦੀ ਸ਼ੁੱਧਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ webਸਾਈਟ, ਜਾਣਕਾਰੀ ਦੀ ਸ਼ੁੱਧਤਾ ਲਈ ਹੋਲਟੇਕ ਦੁਆਰਾ ਕੋਈ ਸਪੱਸ਼ਟ ਜਾਂ ਅਪ੍ਰਤੱਖ ਵਾਰੰਟੀ ਨਹੀਂ ਦਿੱਤੀ ਗਈ ਹੈ। ਹੋਲਟੇਕ ਕਿਸੇ ਵੀ ਗਲਤੀ ਜਾਂ ਲੀਕੇਜ ਲਈ ਕੋਈ ਜਿੰਮੇਵਾਰੀ ਨਹੀਂ ਲਵੇਗਾ।
ਹੋਲਟੇਕ ਕਿਸੇ ਵੀ ਨੁਕਸਾਨ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹੋਵੇਗਾ (ਸਮੇਤ ਪਰ ਇਸ ਤੱਕ ਸੀਮਿਤ ਨਹੀਂ ਹੈ ਕੰਪਿਊਟਰ ਵਾਇਰਸ, ਸਿਸਟਮ ਸਮੱਸਿਆਵਾਂ ਜਾਂ ਡੇਟਾ ਦੇ ਨੁਕਸਾਨ) ਜੋ ਵੀ ਇਸ ਦੀ ਵਰਤੋਂ ਕਰਨ ਜਾਂ ਇਸਦੀ ਵਰਤੋਂ ਦੇ ਸਬੰਧ ਵਿੱਚ ਪੈਦਾ ਹੁੰਦਾ ਹੈ। webਕਿਸੇ ਵੀ ਪਾਰਟੀ ਦੁਆਰਾ ਸਾਈਟ. ਇਸ ਖੇਤਰ ਵਿੱਚ ਲਿੰਕ ਹੋ ਸਕਦੇ ਹਨ, ਜੋ ਤੁਹਾਨੂੰ ਵਿਜ਼ਿਟ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ webਹੋਰ ਕੰਪਨੀਆਂ ਦੀਆਂ ਸਾਈਟਾਂ.
ਇਹ webਸਾਈਟਾਂ ਹੋਲਟੇਕ ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ ਨਹੀਂ ਹਨ। ਹੋਲਟੇਕ ਅਜਿਹੀਆਂ ਸਾਈਟਾਂ 'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕਿਸੇ ਵੀ ਜਾਣਕਾਰੀ ਦੀ ਕੋਈ ਜ਼ਿੰਮੇਵਾਰੀ ਨਹੀਂ ਲਵੇਗਾ ਅਤੇ ਨਾ ਹੀ ਕੋਈ ਗਾਰੰਟੀ ਦੇਵੇਗਾ। ਹੋਰਾਂ ਲਈ ਹਾਈਪਰਲਿੰਕਸ webਸਾਈਟਾਂ ਤੁਹਾਡੇ ਆਪਣੇ ਜੋਖਮ 'ਤੇ ਹਨ।
ਦੇਣਦਾਰੀ ਦੀ ਸੀਮਾ
ਕਿਸੇ ਵੀ ਸੂਰਤ ਵਿੱਚ ਹੋਲਟੇਕ ਲਿਮਟਿਡ ਇਸ ਤੱਕ ਤੁਹਾਡੀ ਪਹੁੰਚ ਜਾਂ ਇਸਦੀ ਵਰਤੋਂ ਦੇ ਸਬੰਧ ਵਿੱਚ ਸਿੱਧੇ ਜਾਂ ਅਸਿੱਧੇ ਤੌਰ 'ਤੇ ਹੋਏ ਕਿਸੇ ਵੀ ਨੁਕਸਾਨ ਜਾਂ ਨੁਕਸਾਨ ਲਈ ਕਿਸੇ ਹੋਰ ਧਿਰ ਨੂੰ ਜਵਾਬਦੇਹ ਨਹੀਂ ਹੋਵੇਗਾ। webਸਾਈਟ, ਉਸ 'ਤੇ ਮੌਜੂਦ ਸਮੱਗਰੀ ਜਾਂ ਕੋਈ ਵਸਤੂਆਂ, ਸਮੱਗਰੀਆਂ ਜਾਂ ਸੇਵਾਵਾਂ।
ਗਵਰਨਿੰਗ ਕਾਨੂੰਨ
ਵਿੱਚ ਸ਼ਾਮਲ ਬੇਦਾਅਵਾ webਸਾਈਟ ਦੁਆਰਾ ਨਿਯੰਤ੍ਰਿਤ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਚੀਨ ਗਣਰਾਜ ਦੇ ਕਾਨੂੰਨਾਂ ਦੇ ਅਨੁਸਾਰ ਵਿਆਖਿਆ ਕੀਤੀ ਜਾਵੇਗੀ. ਉਪਭੋਗਤਾ ਚੀਨ ਗਣਰਾਜ ਦੀਆਂ ਅਦਾਲਤਾਂ ਦੇ ਗੈਰ-ਨਿਵੇਕਲੇ ਅਧਿਕਾਰ ਖੇਤਰ ਵਿੱਚ ਜਮ੍ਹਾਂ ਕਰਾਉਣਗੇ।
ਬੇਦਾਅਵਾ ਦਾ ਅੱਪਡੇਟ
ਹੋਲਟੇਕ ਕਿਸੇ ਵੀ ਸਮੇਂ ਅਗਾਊਂ ਸੂਚਨਾ ਦੇ ਨਾਲ ਜਾਂ ਬਿਨਾਂ ਕਿਸੇ ਵੀ ਸਮੇਂ ਬੇਦਾਅਵਾ ਨੂੰ ਅਪਡੇਟ ਕਰਨ ਦਾ ਅਧਿਕਾਰ ਰੱਖਦਾ ਹੈ, ਸਾਰੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਪੋਸਟ ਕਰਨ 'ਤੇ ਤੁਰੰਤ ਪ੍ਰਭਾਵੀ ਹੋ ਜਾਂਦੀਆਂ ਹਨ। webਸਾਈਟ.
ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ
![]() |
HOLTEK HT32 MCU UART ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ [pdf] ਯੂਜ਼ਰ ਮੈਨੂਅਲ HT32 MCU, UART ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ, HT32 MCU UART, ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ, HT32, MCU UART ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ, HT32 MCU UART ਐਪਲੀਕੇਸ਼ਨ ਨੋਟ |