2017-01-11 3 views
0

Когда на GitHub я наткнулся на эту страницу (https://github.com/mbedmicro/pyOCD), которая поможет вам с помощью mbed boards. Однако, когда я смотрел их пример Hello World (см. Ниже), я был действительно озадачен. Он использует экстремально нечетный синтаксис python (который недействителен, поскольку компилятор выдал ошибку).Синдром Odd Python?

Здесь:

from pyOCD.board import MbedBoard 

import logging 
logging.basicConfig(level=logging.INFO) 

board = MbedBoard.chooseBoard() 

target = board.target 
flash = board.flash 
target.resume() 
target.halt() 

print "pc: 0x%X" % target.readCoreRegister("pc") 
    pc: 0xA64 

target.step() 
print "pc: 0x%X" % target.readCoreRegister("pc") 
    pc: 0xA30 

target.step() 
print "pc: 0x%X" % target.readCoreRegister("pc") 
    pc: 0xA32 

flash.flashBinary("binaries/l1_lpc1768.bin") 
print "pc: 0x%X" % target.readCoreRegister("pc") 
    pc: 0x10000000 

target.reset() 
target.halt() 
print "pc: 0x%X" % target.readCoreRegister("pc") 
    pc: 0xAAC 

board.uninit() 

Моя проблема заключается в "pc: 0xAAC" линии, которые появляются завалены accross кода. Это какой-то особый тип кодирования? Это не работает, так кто-нибудь, пожалуйста, укажите, к чему, по-вашему, пытался добраться автор?

Спасибо

+5

Они встроены вывод в файл. –

+1

Как раздражает. Эти строки «pc: 0xAAC» должны быть написаны как комментарии, чтобы код был выполнен. –

+0

Макет этого примера крайне неудачен. Я предлагаю вам попросить автора исправить его, [открыв проблему] (https://github.com/mbedmicro/pyOCD/issues) или отправив запрос на перенос – hansaplast

ответ

5

Это пример, и они включали ожидаемый результат в тексте.

Так линия

print "pc: 0x%X" % target.readCoreRegister("pc") 

ожидается напечатать что-то вроде

pc: 0xA64 

Так что нет, это не правильный код Python, и если вы хотите запустить код самостоятельно, вы должны пропустить эти строки ,

Они могли сделали это яснее, делая эти строки комментариев, конечно, легко сделать пример снова работоспособным:

print "pc: 0x%X" % target.readCoreRegister("pc") 
# pc: 0xA64 
+0

.. или мог бы использовать общую разметку, чтобы сказать, какие строки являются кодом и какие из них выводятся, например. '>>> print" ... "' – hansaplast

+0

Я открыл PR против документов, чтобы уточнить это: https://github.com/mbedmicro/pyOCD/pull/273 –