MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / _pin_cmd_mode

Function _pin_cmd_mode

components/drivers/pin/dev_pin.c:226–276  ·  view source on GitHub ↗

e.g. MSH >pin mode PA.16 output */

Source from the content-addressed store, hash-verified

224
225/* e.g. MSH >pin mode PA.16 output */
226static void _pin_cmd_mode(int argc, char *argv[])
227{
228 rt_base_t pin;
229 rt_base_t mode;
230 if (argc < 4)
231 {
232 _pin_cmd_print_usage();
233 return;
234 }
235 if (!msh_isint(argv[2]))
236 {
237 pin = _pin_cmd_conv(argv[2]);
238 if (pin < 0)
239 {
240 rt_kprintf("Parameter invalid : %s!\n", argv[2]);
241 _pin_cmd_print_usage();
242 return;
243 }
244 }
245 else
246 {
247 pin = atoi(argv[2]);
248 }
249 if (0 == rt_strcmp("output", argv[3]))
250 {
251 mode = PIN_MODE_OUTPUT;
252 }
253 else if (0 == rt_strcmp("input", argv[3]))
254 {
255 mode = PIN_MODE_INPUT;
256 }
257 else if (0 == rt_strcmp("input_pullup", argv[3]))
258 {
259 mode = PIN_MODE_INPUT_PULLUP;
260 }
261 else if (0 == rt_strcmp("input_pulldown", argv[3]))
262 {
263 mode = PIN_MODE_INPUT_PULLDOWN;
264 }
265 else if (0 == rt_strcmp("output_od", argv[3]))
266 {
267 mode = PIN_MODE_OUTPUT_OD;
268 }
269 else
270 {
271 _pin_cmd_print_usage();
272 return;
273 }
274
275 rt_pin_mode(pin, mode);
276}
277
278/* e.g. MSH >pin read PA.16 */
279static void _pin_cmd_read(int argc, char *argv[])

Callers 1

_pin_cmdFunction · 0.85

Calls 6

_pin_cmd_print_usageFunction · 0.85
msh_isintFunction · 0.85
_pin_cmd_convFunction · 0.85
rt_kprintfFunction · 0.85
rt_strcmpFunction · 0.85
rt_pin_modeFunction · 0.70

Tested by

no test coverage detected